我制作了一个代码来标记输入文件中的数据。我想将当前令牌与单词SIOL
进行比较。如果它们相同,则打印成功并退出。
我的问题是,即使我在文件中输入的字符串为SIOL
,但条件始终为false。它始终在文件中打印整个数据。
这是代码。希望你能帮忙。非常感谢你
main()
{
FILE *input;
//char filename[100];
const char *filename = "sample1.txt";
input=fopen(filename,"r");
char word[1000];
char *token;
int num =0;
int ret;
while(fgets(word, 1000, input) != NULL) //reads a line
{
token = strtok(word, " " ); // tokenize the line
while(token!=NULL) // while line is not equal to null
{
ret = strcmp(token, "SIOL");
if (ret==0)
{
printf("Success!", token);
return 0;
}
printf("%s\n", token);
token = strtok(NULL, " " ); //tokenize the word
num++;
}
}
return 0;
}