题目是:文本的输入输出,从一个文本中读取若干数字,并将其中的素数输出到另一个文本中,我假设文本是1,5,8,12,17.那么输出到另一个文件里应该是5,17但是我现在是空的,求大佬们看看
#include<bits/stdc++.h>
using namespace std;
int main(){
FILE *fp=NULL,*fq;
char buff[200]={};
char s[100];
fp=fopen("C:\\Users\\魑魅魍魉\\Desktop\\shu.txt","w+");
fq=fopen("C:\\Users\\魑魅魍魉\\Desktop\\sushu.txt","w+");
fputs("1,5,8,12,17",fp);
fclose(fp);
fp=fopen("C:\\Users\\魑魅魍魉\\Desktop\\shu.txt","r");
fgets(buff,100,fp);
int l=strlen(buff);
for(int i=0;i<l;i++){
if((buff[i]>='0'&&buff[i]<='9')&&(buff[i+1]==',')){//一位数时
int a=buff[i]-'0';
int j=2;
if((a%j)!=0){//判断是否是素数
j++;
if(j==a-1){
fprintf(fq,"%s,",buff[i]);
}
}
else{
i++;
break;
}
}
if((buff[i]>='0'&&buff[i]<='9')&&(buff[i+1]>='0')&&(buff[i+1]<='9')&&(buff[i+2]==',')){//两位数时
int b=(buff[i]-'0')*10+(buff[i+1]-'0');
int j=2;
if((b%j)!=0){//判断是否是素数
j++;
if(j==b-1){
fprintf(fq,"%s,",buff[i]);
fprintf(fq,"%s,",buff[i+1]);
}
}
else{
i=i+2;
break;
}
}
cout<<"成功"<<endl;
fclose(fq);
fclose(fp);
return 0;
}}