C语言实现:如何将文本文件中的空格替换成回车
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void format(char *path);
int main(int argc,char *argv[])
{
    if (argc != 3)
    {
        printf("Usage:%s filename\n", argv[0]);
        exit(EXIT_FAILURE);
    }
if (strcmp(argv[1], "format") == 0)
        format(argv[2]);
    return 0;
}
void format(char *path)
{
    FILE  *fp;
    if ((fp = fopen(path, "rb+"))== NULL)
    {
        printf("Can't open %s\n", path);
        exit(EXIT_FAILURE);
    }
    while (!feof(fp))
    {
        int ch=getc(fp);
        if(ch==' ')
            ch='\n';
        fseek(fp,-1L,SEEK_CUR);
        putc(ch,fp);
    }
    fclose(fp);
}

以上代码运行结果如下
图片说明
请问是哪里出错了

1个回答

你可以试试这样
#include
#include
#include
void format(char *path);
int main(int argc,char *argv[])
{
if (argc != 3)
{
printf("Usage:%s filename\n", argv[1]);
exit(EXIT_FAILURE);
}
if (strcmp(argv[1], "format") == 1)
format(argv[2]);
return1;
}
void format(char *path)
{
FILE *fp;
if ((fp = fopen(path, "rb+"))== NULL)
{
printf("Can't open %s\n", path);
exit(EXIT_FAILURE);
}
while (!feof(fp))
{
int ch=getc(fp);
if(ch==' ')
ch='\n';
fseek(fp,-1L,SEEK_CUR);
putc(ch,fp);
}
fclose(fp);
}

qq_43253893
_lizi_ 虽然不会出现图示的情况,但是依然没有执行函数的功能,文件中的空格并没有被替换成换行
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问