int main()
{
FILE* fp = fopen("C:/Users/菠萝吹牛/Desktop/实验.txt.txt","r");
if (!fp)
{
return -1;
}
char* p = (char*)malloc(sizeof(char) * 100);
memset(p,0,100);
fgets(p, 100, fp);
printf("%s", p);
free(p);
fclose(fp);
return EXIT_SUCCESS;
}
首先,问题的导入在于我写的一个小程序。
1.我在一个文本文件中打字,然后想用fgets读取第一行的内容2.我想再读取之后对数组进行打印来体现出换行符的存在3.发现问题。
下面是文本文件的内容:
下面是控制台打印读取的内容。(我把数组初始化为’9’,为了视觉方便,每个字符两侧放上:)
可以看到读取结果显示每行末尾存在着两个换行符。并且,那个空格字符是哪来的??
应该是你文本和 代码的编码不一致,
用高级保存选项保存编码字符集 也可以 用VS打开文本修改