【发布时间】:2015-11-16 14:41:39
【问题描述】:
我的输入流来自一个文本文件,其中包含由 \n 字符分隔的单词列表。 函数stringcompare是一个比较两个字符串等价的函数,不区分大小写。
我有两个字符串数组,word[50] 和 dict[50]。 word 是用户给出的字符串。 基本上我想要做的是将 word[] 和文本文件中的每个单词作为 stringcompare 函数的参数传递。
我已经编译并运行了这段代码,但它是错误的。非常错误。我究竟做错了什么?我什至可以像这样使用 fgetc() 吗?内部循环完成后,dict[] 甚至会是一个字符串数组吗?
char c, r;
while((c = fgetc(in)) != EOF){
while((r = fgetc(in)) != '\n'){
dict[n] = r;
n++;
}
dict[n+1] = '\0'; //is this necessary?
stringcompare(word, dict);
}
【问题讨论】:
-
fgetc返回一个int,你的c是一个char。所以不是,它是无效的。要从流中读取行,我建议您使用fgets。
标签: c loops while-loop nested-loops fgetc