登录

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

# C++
高洛峰高洛峰2146 天前350 次浏览

全部回复(2) 我要回复

  • 大家讲道理

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

    你的1.txt是用什么编码保存的?

    回复
    0
  • 阿神

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

    fgets读取的数据不会帮你去掉换行符'\n'的,你这样比肯定不行了,你读取的buff里面比你的字符串s多一个换行符'\n'

    回复
    0
  • 取消回复发送