将输出放入新文件的C程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将输出放入新文件的C程序相关的知识,希望对你有一定的参考价值。
所以我一直在解决一个问题,我必须从输入文件中找到素数并将这些素数保存在名为output.txt的输出文件中。但是如果输入文件中没有素数,我会必须在输出文件中写“找不到素数”。因此,当我完成代码时没有素数时,它显示找不到素数5-6次,而我只希望它出现1次。我的错误是什么在这里?我在这里完全是菜鸟
#include <stdio.h>
#include <stdlib.h>
int Primecheck(const int number);
int main()
{
FILE * Number,
* Prime_N;
int num;
char sentence[50] = "No prime numbers found";
int length = strlen(sentence);
int i;
Number = fopen("input.txt", "r");
Prime_N = fopen("output.txt", "w");
if(Number == NULL || Prime_N == NULL)
{
printf("Unable to open file.
");
exit(EXIT_FAILURE);
}
printf("File opened and Reading Done
");
while (fscanf(Number, "%d", &num) != -1)
{
if (Primecheck(num)==1)
fprintf(Prime_N, "%d
", num);
else
for(i=0;i<length;i++)
{
fputc(sentence[i] ,Prime_N);
}
}
fclose(Number);
fclose(Prime_N);
printf("Overwrite Success.");
return 0;
}
int Primecheck (const int number)
{
int i;
if (number < 0)
return 0;
for ( i=2; i<=number/2; i++ )
{
if (number % i == 0)
{
return 0;
}
}
return 1;
}
答案
您的主要问题是此行:
while (fscanf(Number, "%d", &num) != -1)
以上是关于将输出放入新文件的C程序的主要内容,如果未能解决你的问题,请参考以下文章
编写一个程序, 将 a.txt 文件中的单词与 b.txt 文件中的 单词交替合并到 c.txt 文件中, a.txt 文件中的单词用回车符 分隔, b.txt 文件中用回车或空格进行分隔。(代码片段