gpt4 book ai didi

c - c 中的 fputs() 换行行为

转载 作者:太空狗 更新时间:2023-10-29 15:17:53 25 4
gpt4 key购买 nike

无法理解程序(如下)。
我对语句 fputs("\n",fp) 有点困惑例如。让我输入:

It doesn't matter what you are underneath
Its what you do that defines you.

如果我不提及 fputs("\n",fp) 字符串将出现在一行中。但是使用代码将其保存为键入。

现在的问题是如何将 \n 插入到所需的位置,因为通常 \n 应该附加在文本的末尾。

如有任何帮助,我们将不胜感激。

int main()

{
FILE *fp;

char s[80];
fp=fopen("abc.txt","w");
if(fp==NULL)
{
puts("Cannot open file");
exit(1);
}
printf("\nEnter a few lines of text:\n");
while(strlen(gets(s))>0)
{
fputs(s,fp);
fputs("\n",fp);
}
fclose(fp);
return 0;
}

最佳答案

gets(不应使用,实际上已从最新的 C 标准中删除)不会将 \n 保存在其缓冲区中(而 fgets 确实如此)。

fputsputs 不同,它不会自动在它写入的字符串末尾插入一个。因此,通过在输出每个键入的行之后添加 fputs("\n", fp);(或 fputc('\n', fp)),您可以插入缺失的文件中的换行符。

关于c - c 中的 fputs() 换行行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20098050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com