我有一个文本文件,其中包含以下字符
An investment
in knowledge
pays the
best interest
我的代码我的代码应该读取文件并将其打印在一行中,如下所示
An investment in knowledge pays the best interest
我的代码如下;
int main()
{
FILE *fp = fopen("C:\\Users\\abiye\\Downloads\\abiye.txt", "r");
char c;
int d = 0;
char arr[200];
do
{
c = fgetc(fp);
printf("%c",c);
d = d + 1;
if (c == '\n') {
putchar(' ');
}
arr[d] = c;
}
while (c != EOF);
fclose(fp);
return 0;
}
但不是给我想要的结果,而是得到以下印刷
An investment
in knowledge(A space is added at the beginning of this string and the rest that follow)
pays the
best interest
任何帮助都将不胜感激。
答案 0 :(得分:3)
这是因为你在检查之前打印了这个角色。
您要做的是检查然后打印。
do
{
c = fgetc(fp);
d += 1;
if (c == '\n') {
putchar(' ');
}
else
putchar(c);
arr[d] = c;
}
while (c != EOF);