比较令牌和字符串

时间:2015-11-15 13:19:39

标签: c token

我制作了一个代码来标记输入文件中的数据。我想将当前令牌与单词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;
}

0 个答案:

没有答案