首頁  >  問答  >  主體

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函数呢?

高洛峰高洛峰2715 天前646

全部回覆(2)我來回復

  • 大家讲道理

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

    你的1.txt是用什麼編碼保存的?

    回覆
    0
  • 阿神

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

    fgets讀取的資料不會幫你掉換行符'n'的,你這樣比肯定不行了,你讀取的buff裡面比你的字串s多一個換行符'n'

    回覆
    0
  • 取消回覆