求助大佬,为啥我这个输出到另一个文件里是空的呢
  • 板块灌水区
  • 楼主魑魅魍魉唬
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/3/9 15:48
  • 上次更新2024/3/9 17:17:59
查看原帖
求助大佬,为啥我这个输出到另一个文件里是空的呢
317218
魑魅魍魉唬楼主2024/3/9 15:48

题目是:文本的输入输出,从一个文本中读取若干数字,并将其中的素数输出到另一个文本中,我假设文本是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;
}}
2024/3/9 15:48
加载中...