文本文件包含一堆字符。文件中没有制表符。编写一个程序,用一个空格替换两个或多个连续的空格。该程序的输入应来自一个文件,该文件的名称是通过argv [1]提供的。该程序的输出应该转到标准输出。
输入:
Let’s go to the movies.
输出:
Let’s go to the movies.
这是我到目前为止所做的:
#include <stdio.h>
int main(int argc, char* argv[]){
char line;
FILE* fin;
int i=0;
fin=fopen("textfile38", "r");
fscanf(fin,"%c",&line);
while((i<=line || line ==' '));
{
if(line !=' ')
{
putchar(line);
i=i+1;
}
else
{
putchar(' ');
}
while(line == ' ')
{
i=i+1;
}
}
printf("%c \n", getchar());
getchar();
return 0;
}
它没有给我一个输出我不知道我做错了,如果有人能帮助我,不要只给我答案,非常感谢你。
答案 0 :(得分:2)
这可能会帮助您取得进步:
看起来你只读了一个字符之前的while循环。您可能希望在while循环中连续内部读取字符,并在到达文件末尾时停止循环。
第二个提示:
您将文件保持打开状态。退出程序前你应该怎么做?