将输出放入新文件的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程序的主要内容,如果未能解决你的问题,请参考以下文章

如何将应用程序对象放入片段类

C - 读取文件并将文本放入具有动态内存分配的字符指针

Android如何将listview放入查看寻呼机片段

将公式放入单元格时出现运行时错误 1004

将文本放入 scanf 会使代码输出随机数?

编写一个程序, 将 a.txt 文件中的单词与 b.txt 文件中的 单词交替合并到 c.txt 文件中, a.txt 文件中的单词用回车符 分隔, b.txt 文件中用回车或空格进行分隔。(代码片段