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

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


#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);
}

#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;
}