64,641
社区成员
发帖
与我相关
我的任务
分享
ifstream infile("F:\\Fall 2013\\CS 620\\P1.txt");
ofstream outfile("F:\\Fall 2013\\CS 620\\P1.enc");
if(!infile){
fatal("%s\n", "Unable to open infile");
}
if(!outfile){
fatal("%s\n", "Unable to open outfile");
}
char e;
while (infile.peek()!=EOF) { //while (!infile.eof())
infile>>e;
e=c.encode(e);
outfile<<e;
}
infile.close();
outfile.close();
char Cipher::encode( char ch ) {
int n=ch;
if (n>=97&&n<=122)
n=n-32-65;
else if(n>=65&&n<=90)
n=n-65;
else
return ch;
return ch=cipherkey[n];
}
while (!infile.eof()){
e=infile.get();
if(e=='\n')
outfile.put(e);
else
e=c.encode(e);
outfile.put(e);
}
char e;
while (!infile.eof()){
e=infile.get();
if(e=='\n')
outfile<<e;
else
e=c.encode(e);
outfile<<e;
}
infile.close();
outfile.close();
基本成功了,上面的问题都解决了,但是新问题是输出到enc里面之后,行与行之间多了一个回车,就是每两行之中多空了一行char e;
while (infile.peek()!=EOF) { //while (!infile.eof())
infile>>e;
if(e=='\n')
outfile<<e;
else
e=c.encode(e);
outfile<<e;
}