_lizi_ 2019-03-09 15:42 采纳率: 16.7%
浏览 1206

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条回答

  • 火� 神 2019-03-09 15:46
    关注

    你可以试试这样
    #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);
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 vue2登录调用后端接口如何实现