求助大佬,这个问题是: 有一个文件有三行内容如下: abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
1234567890
修改内容,方式为: a 用 z 代替, b 用 y, c 用 x,以此类推; A 用 Z 代替, B 用 Y 代替, C 用 X,以此类推; 1变为2,2变3.……, 0变为1; 输出的时候我用fputs但是我不知道这个换行的条件是什么求助大佬问问,怎么判断,代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
FILE *fp=NULL,*fq;
char buff[200];
fp=fopen("C:\\Users\\魑魅魍魉\\Desktop\\test4.txt","w+");
fq=fopen("C:\\Users\\魑魅魍魉\\Desktop\\test5.txt","w+");
fputs("abcdefghijklmnopqrstuvwxyz\n",fp);
fputs("ABCDEFGHIJKLMNOPQRSTUVWXYZ\n",fp);
fputs("0123456789\n",fp);
fclose(fp);
fp=fopen("C:\\Users\\魑魅魍魉\\Desktop\\test4.txt","r");
while(fgets(buff,200,fp)){
int l=strlen(buff);
for(int i=0;i<l;i++){
if(buff[i]>='a'&&buff[i]<='z'){
buff[i]='a'+'z'-buff[i];
fprintf(fq,"%c",buff[i]);
if(buff[i+1]=='\0'){//换行条件,现在这个判断换行条件是错误的
fputs("\n",fq);
}
}
else if(buff[i]>='A'&&buff[i]<='Z'){
buff[i]='A'+'Z'-buff[i];
fprintf(fq,"%c",buff[i]);
if(buff[i]==' '){
fputs("\n",fq);
}
}
else if(buff[i]>='0'&&buff[i]<='9'){
buff[i]='0'+'9'-buff[i];
fprintf(fq,"%c",buff[i]);
if(buff[i]==' '){
fputs("\n",fq);
}
}
}}
fclose(fp);
fclose(fq);
cout<<"成功"<<endl;
return 0;
}