v11ll 2022-03-03 14:47 采纳率: 100%
浏览 162
已结题

在main函数中创建一个文件,将键盘输入的字符串(该字符串只包含字母和*)写入文件中。

在main函数中创建一个文件,将键盘输入的字符串(该字符串只包含字母和)写入文件中。打开该文件,读出字符串。删除串中字母之间的号,并将新串存放到另一个文件中。比如,字符串a**Bcd,删除字母之间的号,得新串aBcd

  • 写回答

2条回答 默认 最新

  • 封尘绝念丶 2022-03-03 14:59
    关注
    
    #include<stdio.h>
    int main(){
        FILE *fp;
        char s[50];
        int i;
        if((fp=fopen("test1.dat","w"))==NULL){
            printf("error!");
            exit(0);
        }
        printf("请输入字符串:");
        gets(s);
        fprintf(fp,"%s",s);
        fclose(fp);
        if((fp=fopen("test1.dat","r"))==NULL){
            printf("error!");
            exit(0);
        }
        while((fscanf(fp,"%s",s))!=EOF){
            for(i=0;s[i]!='\0';i++)
                if((s[i]>='a')&&(s[i]<='z'))
                    s[i]-=32;
            printf("%s ",s);
        }
        fclose(fp);
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • _GX_ 2022-03-03 16:33
    关注
    #include <iostream>
    #include <string>
    #include <stdexcept>
    #include <fstream>
    
    using namespace std;
    
    void save(const string &filename, const string &str)
    {
        ofstream out(filename);
        if (!out)
            throw runtime_error("failed to open file");
        out << str;
    }
    
    string load(const string &filename)
    {
        ifstream in(filename);
        if (!in)
            throw runtime_error("failed to open file");
        string str;
        in >> str;
        return str;
    }
    
    int main()
    {
        try
        {
            string str;
            cin >> str;
            save("test.txt", str);
            string str2;
            for (auto c : load("test.txt"))
                if (c != '*')
                    str2 += c;
            save("test2.txt", str2);
        }
        catch (const exception &e)
        {
            cerr << e.what();
            return 1;
        }
        return 0;
    }
    
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月11日
  • 已采纳回答 3月3日
  • 创建了问题 3月3日

悬赏问题

  • ¥30 深度学习的模型融合问题
  • ¥20 数电实验Verilog编程
  • ¥15 机器人MATLAB仿真示教占内存过大
  • ¥15 JSR233已经使用但是仍无法将csv数据放到一个list里显示出来,如何解决?
  • ¥15 I350 Gigabit Network
  • ¥15 关于#abap#的问题,请各位专家解答!
  • ¥20 内网通过公网访问外网问题
  • ¥20 谁有这个东西 继续教育的
  • ¥15 怎么使请求通过cors
  • ¥15 WDM 驱动ACPI 相关疑问