#include<iostream>
#include<sstream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;
int main(){
int b[7]={4,9,6,2,8,7,3};
ifstream in("aaa.txt");
ofstream of("bbb.txt");
for(string s;getline(in,s);){
for(int i=0;i<s.size();i++)
{
s[i]=s[i]+b[i%7];
if(s[i]>122)
s[i]=s[i]%90+32;
cout<<s[i];
of<<s[i];
}
cout<<endl;
ofstream of("ccc.txt");
for(i=0;i<s.size();i++)
{ s[i]=s[i]-b[i%7];
if(s[i]<65&&s[i]>55)
s[i]=s[i]+58;
cout<<s[i];
of<<s[i];
}
cout<<endl;
ifstream in("aaa.txt");
vector<int> s;
for(int a;in>>a;); s.push_back(a);
{for(int i=0;i<s.size();i++)
cout<<s[i]<<" ";}
cout<<endl;
{ ifstream in("ccc.txt");
vector<int> m;
for(int c;in>>c;);
m.push_back(c);
for(int j=0;j<m.size();j++)
{ cout<<m[j]<<" ";
cout<<endl;}
for(int t=0;t<s.size();t++)
{if(s[t]==m[t])
cout<<s[t]<<" ";}
cout<<endl;
}
}
}
13 个解决方案
#1
几个建议,不同用途的fstream,请起不同的名字。
你看你的程序,好几处in和of,都是不同的fstream。
另外fstream用完了记得close。
你看你的程序,好几处in和of,都是不同的fstream。
另外fstream用完了记得close。
#2
哎,我C++的文件操作还没学呢。
#3
C++的文件操作没学就能写出这份代码,难得!
读文件主要的还是路径,路径对了,文件指针有效的话,其他的就好办了。
其次,文件读写操作完成以后,一定要记得及时释放文件指针。不然再次对该文件读写,很可能会不成功。
最后,赞同1楼的建议。
#4
额。。。请问用c++怎么释放啊?我只知道c的fclose,不知道c++的fclose额。。。
#5
额。。。我还没学该名字什么的,而且只知道用c语言fclose,不会用c++ fclose,可不可以请你教我呢?
#6
你也是学生么?
#7
会写代码了就要学会调试程序,调试才是最重要的。
#8
先学习如何搜索查阅标准库吧。
#9
kkk。。。好吧,可是我这个程序很急啊。。。大神。。。
#10
#include<iostream>
#include<sstream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;
int main(){
int b[7]={4,9,6,2,8,7,3};
ifstream in("aaa.txt");
ofstream of("bbb.txt");
for(string s;getline(in,s);){
for(int i=0;i<s.size();i++)
{
s[i]=s[i]+b[i%7];
if(s[i]>122)
s[i]=s[i]%90+32;
cout<<s[i];
of<<s[i];
}
cout<<endl;
ofstream of("ccc.txt");
for(i=0;i<s.size();i++)
{ s[i]=s[i]-b[i%7];
if(s[i]<65&&s[i]>55)
s[i]=s[i]+58;
cout<<s[i];
of<<s[i];
}
cout<<endl;
ifstream in("aaa.txt");
vector<int> s;
for(int a;in>>a;); s.push_back(a);
{for(int i=0;i<s.size();i++)
cout<<s[i]<<" ";}
cout<<endl;
{ ifstream in("ccc.txt");
vector<int> m;
for(int c;in>>c;);
m.push_back(c);
for(int j=0;j<m.size();j++)
{ cout<<m[j]<<" ";
cout<<endl;}
for(int t=0;t<s.size();t++)
{if(s[t]==m[t])
cout<<s[t]<<" ";}
cout<<endl;
}
}
}
#11
调试?我们没学。。。
#12
出来的结果是press any key to continue 额。。。
#13
是啊,还是学生党。
#1
几个建议,不同用途的fstream,请起不同的名字。
你看你的程序,好几处in和of,都是不同的fstream。
另外fstream用完了记得close。
你看你的程序,好几处in和of,都是不同的fstream。
另外fstream用完了记得close。
#2
哎,我C++的文件操作还没学呢。
#3
C++的文件操作没学就能写出这份代码,难得!
读文件主要的还是路径,路径对了,文件指针有效的话,其他的就好办了。
其次,文件读写操作完成以后,一定要记得及时释放文件指针。不然再次对该文件读写,很可能会不成功。
最后,赞同1楼的建议。
#4
额。。。请问用c++怎么释放啊?我只知道c的fclose,不知道c++的fclose额。。。
#5
额。。。我还没学该名字什么的,而且只知道用c语言fclose,不会用c++ fclose,可不可以请你教我呢?
#6
你也是学生么?
#7
会写代码了就要学会调试程序,调试才是最重要的。
#8
先学习如何搜索查阅标准库吧。
#9
kkk。。。好吧,可是我这个程序很急啊。。。大神。。。
#10
#include<iostream>
#include<sstream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;
int main(){
int b[7]={4,9,6,2,8,7,3};
ifstream in("aaa.txt");
ofstream of("bbb.txt");
for(string s;getline(in,s);){
for(int i=0;i<s.size();i++)
{
s[i]=s[i]+b[i%7];
if(s[i]>122)
s[i]=s[i]%90+32;
cout<<s[i];
of<<s[i];
}
cout<<endl;
ofstream of("ccc.txt");
for(i=0;i<s.size();i++)
{ s[i]=s[i]-b[i%7];
if(s[i]<65&&s[i]>55)
s[i]=s[i]+58;
cout<<s[i];
of<<s[i];
}
cout<<endl;
ifstream in("aaa.txt");
vector<int> s;
for(int a;in>>a;); s.push_back(a);
{for(int i=0;i<s.size();i++)
cout<<s[i]<<" ";}
cout<<endl;
{ ifstream in("ccc.txt");
vector<int> m;
for(int c;in>>c;);
m.push_back(c);
for(int j=0;j<m.size();j++)
{ cout<<m[j]<<" ";
cout<<endl;}
for(int t=0;t<s.size();t++)
{if(s[t]==m[t])
cout<<s[t]<<" ";}
cout<<endl;
}
}
}
#11
调试?我们没学。。。
#12
出来的结果是press any key to continue 额。。。
#13
是啊,还是学生党。