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