検索

ホームページ  >  に質問  >  本文

c++ - 请教C语言字符串和字符数组的比较问题

用C语言读取1.txt文本文件:
文件内容如下:
12345
67890
98741

程序如下:

include <stdio.h>

include <string.h>

include <stdlib.h>

int main(void)
{
FILE *fp = fopen("1.txt","r");
char *s="12345";
char buff[500];
while(fgets(buff,499,fp) != NULL)
{
if(strcmp(buff,s)==0) //为什么这里与“12345”比较没有等于0的时候呢
printf("%s",buff);

}
fclose(fp);
system("pause");
return 0;
}
//结果没有输出,应该怎么使用strcmp函数呢?

高洛峰高洛峰2890日前768

全員に返信(2)返信します

  • 大家讲道理

    大家讲道理2017-04-17 14:47:56

    1.txt はどのエンコーディングで保存されていますか?

    返事
    0
  • 阿神

    阿神2017-04-17 14:47:56

    fgets によって読み取られたデータは、改行文字 '\n' を削除するのに役立ちません。読み取ったバフには、文字列 s よりも 1 つ多い改行文字 '\n' が含まれています。

    返事
    0
  • キャンセル返事