gpt4 book ai didi

c - 我的 while 循环上的错误代码,试图逐行读取文件。在C中

转载 作者:行者123 更新时间:2023-11-30 18:50:33 26 4
gpt4 key购买 nike

我正在尝试从文件字典中获取输入,一次一行,我知道文件字典中的每一行只是一个单词。当我尝试编译此代码时收到错误代码,错误是:

dictionary.c:66:36:错误:不同指针类型的比较('char ' 和 'int ()(FILE *)') [-Werror,-Wcompare-distinct-pointer-types] while ( (fgets(word, 46, dic)) != feof )

我对编码非常陌生,如果我尝试使用错误的方法或者我只是错误地编码,我不确定是否可以通过这种方式完成。感谢您提前提供帮助。

bool load(const char* dictionary)
{
char word[46];
unsigned long key;

//remember file name
FILE* dic = fopen(dictionary , "r");
if (dic == NULL)
{
printf("Could not open file..\n");
return false;
}
while ( (fgets(word, 46, dic)) != feof )
{
numberWords++;
//Save new word
node* newWord = malloc(sizeof(node));
strcpy(newWord->dicWords, word);
newWord->next = NULL;
//Use Hash function on new word found
key = hash(word);
//Enter word into Hashtable
if ( hashTable[key] == NULL )
{
hashTable[key] = newWord;
}
else
{
newWord->next = hashTable[key];
hashTable[key] = newWord;
}
}

fclose(dic);

return false;

最佳答案

feof 是库函数的标识符。请更改

while ( (fgets(word, 46, dic)) != feof )

while ( (fgets(word, 46, dic)) != NULL )

关于c - 我的 while 循环上的错误代码,试图逐行读取文件。在C中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39997042/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com