C で記述されたシミュレーション プログラムがあり、乱数を作成して txt ファイルに書き込む必要があります。プログラムのみ停止 - 既に生成された乱数が再度生成されたとき、または - 10 億個の乱数が生成されたとき (繰り返しなし)
私の問題は、生成された long int 乱数を txt ファイルで検索できなかったことです! テキスト ファイルの形式は次のとおりです: 9875 764 19827 2332 ... どんな助けでも大歓迎です.. `
FILE * out;
int checkNumber(long int num){
char line[512];
long int number;
int result=0;
if((out = fopen("out.txt","r"))==NULL){
result= 1;
}
char buf[10];
itoa(num, buf, 10);
while(fgets(line, 512, out) != NULL)
{
if((strstr(line,buf)) != NULL){
result = 0;
}
}
if(out) {
fclose(out);
}
return result;
}
int main(){
int seed;
long int nRNs=0;
long int numberGenerated;
out = fopen ("out.txt","w");
nRNs=0;
seed = 12345;
srand (seed);
fprintf(out,"%d\n",numberGenerated);
while( nRNs != 1000000000 )
{
numberGenerated = rand();
nRNs++;
if(checkNumber(numberGenerated)==0){
fclose(out); break; system("pause");
}
else{
fprintf(out,"%d\n",numberGenerated);
}
}
fclose(out);
}`