我正在尝试使用 fputs() 从键盘读取输入字符串并将其写入程序中名为 dFile.txt 的文本文件中。由于 fputs() 不添加新行,因此我已在代码中显式添加了新行,但是当我检查输出文件时,它没有添加任何新行。我添加了选项卡“\t”只是为了交叉检查记事本是否无法识别任何特殊字符,但它可以正常工作。
#include<stdio.h>
#include<string.h>
int main()
{
char arr[100];
FILE *dest;
dest=fopen("dFile.txt","w");
puts("enter the string");
while(strlen(gets(arr))>0)
{
fputs(arr,dest);
fputs("\n",dest);
fputs("\t",dest);
}
fclose(dest);
return 0;
}
最佳答案
记事本将 \r\n
(回车符,后跟换行符)识别为换行符。不过,其他一些编辑器可能会像所有 Unix 实用程序一样单独识别 \n
。
另外(更重要的是):它是 not a good idea to use gets
对于未知的输入源。
关于c - 记事本无法识别换行符 '\n',但可以与制表符等其他特殊字符配合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42955164/