主题:c++输入与输出问题!求助。。
#include<iostream>
#include<fstream>
using namespace std;
void save_to_file(){
ofstream outfile("f2.dat");
if(!outfile)
{
cerr<<"open f2.dat error!"<<endl;
exit(1);
}
char c[80];
cin.getline(c,80);
int i=0;
while(c[0]!=0){
if(c[i]>=65 && c[i]<=90||c[i]>=97 && c[i]<=122)
[u]outfile<<c[i];[/u] cout<<c[i];
i++;
} cout<<endl;
outfile.close();
}
void get_from_file(){
char ch;
ifstream infile("f2.dat",ios::in);
if(!infile)
{
cerr<<"open f2.dat error!"<<endl;
exit(1);
}
ofstream outfile("f3.dat");
if(!outfile){
cerr<<"open f3.dat error!"<<endl;
exit(1);
}
[u]infile>>ch;[/u] while(infile.get(ch)){
if(ch>=97 && ch<=122)
ch=ch-32;
[u]outfile.put(ch);[/u] cout<<ch;
infile>>ch;
}
cout<<endl;
infile.close();
outfile.close();
}
int main(){
save_to_file();
get_from_file();
return 0;
}
本程序的功能就是将一个字符串里的字母输出到一个文件中,然后再从文件中将字母输出到另一个文件中(条件是将小写字母转化成大写)。本程序为什么不对!其错误主要是在我划线的地方,为什么那样写不对?
#include<fstream>
using namespace std;
void save_to_file(){
ofstream outfile("f2.dat");
if(!outfile)
{
cerr<<"open f2.dat error!"<<endl;
exit(1);
}
char c[80];
cin.getline(c,80);
int i=0;
while(c[0]!=0){
if(c[i]>=65 && c[i]<=90||c[i]>=97 && c[i]<=122)
[u]outfile<<c[i];[/u] cout<<c[i];
i++;
} cout<<endl;
outfile.close();
}
void get_from_file(){
char ch;
ifstream infile("f2.dat",ios::in);
if(!infile)
{
cerr<<"open f2.dat error!"<<endl;
exit(1);
}
ofstream outfile("f3.dat");
if(!outfile){
cerr<<"open f3.dat error!"<<endl;
exit(1);
}
[u]infile>>ch;[/u] while(infile.get(ch)){
if(ch>=97 && ch<=122)
ch=ch-32;
[u]outfile.put(ch);[/u] cout<<ch;
infile>>ch;
}
cout<<endl;
infile.close();
outfile.close();
}
int main(){
save_to_file();
get_from_file();
return 0;
}
本程序的功能就是将一个字符串里的字母输出到一个文件中,然后再从文件中将字母输出到另一个文件中(条件是将小写字母转化成大写)。本程序为什么不对!其错误主要是在我划线的地方,为什么那样写不对?