gpt4 book ai didi

c - 为什么我的输出在 fgets 中自动格式化,即 '\n'?

转载 作者:太空宇宙 更新时间:2023-11-04 06:41:26 29 4
gpt4 key购买 nike

这是我的代码

#include<stdio.h>
int main()
{
FILE* fp;
int i;
fp=fopen("newfile","r");
if(fp==NULL)
{
printf("hhaha");
return 0;
}
char str[20];
for(i=0;i<2;i++)
{
fgets(str,20,fp);
printf("%s",str);
}
return 0;
}

现在如果我的新文件有文本

my name
is xyz

那怎么当我打印时两行打印在两个换行符中?换行符从哪里来?

最佳答案

fgets 将指针设置为 char * 代表文件的行,包括行尾的 \n。 (与大多数字符串一样,它也将以 '\0' 终止)

一个文件:

This
is
my
file

将从 fgets 获得:

This\n\0,is\n\0,my\n\0,file\n\0 1


1最终值可能不包含\n。这将取决于它是否是 \n 终止文件。

关于c - 为什么我的输出在 fgets 中自动格式化,即 '\n'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7664950/

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