问题描述
用C语言读取1.txt文本文件:文件内容如下:123456789098741
程序如下:
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函数呢?
问题解答
回答1:你的1.txt是用什么编码保存的?
回答2:fgets读取的数据不会帮你去掉换行符’n’的,你这样比肯定不行了,你读取的buff里面比你的字符串s多一个换行符’n’