我的 C 程序从文件中读取 100k 个数字,不断打印零 [关闭]

My C program to read 100k numbers from file keeps printing zeros [closed]

提问人:Dawn Rhema 提问时间:10/15/2023 最后编辑:Fe2O3Dawn Rhema 更新时间:10/15/2023 访问量:53

问:


这个问题是由错别字或无法再现的问题引起的。虽然类似的问题可能在这里是主题,但这个问题的解决方式不太可能帮助未来的读者。

上个月关闭。

帮助。我已经在这个代码上工作了 4 个多小时。我在网上搜索并输入了我所看到的内容,但没有变化。 我需要代码从文本文件中读取数字,然后如果为负,我将打印 r,如果为正,则打印 g,如果为零,则打印 x。但这行不通,因为 fscanf 到 int 数组编号会继续打印零/ 这是我的代码。

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

#define ROWS 100000
#define COLUMNS  1

int main(void) {
    int number[ROWS][COLUMNS];

    FILE *file = fopen("C:/Users/Rhema/Desktop/FX.txt", "r");
    FILE *filed = fopen("C:/Users/Rhema/Desktop/prediction.txt", "w");

    if (file = NULL)
    {
        printf("CAN'T READ FILE.");
    }
    else
    {
        printf("READ FILE.");
    }

    int row = 0;
    while(!feof(file))
    {
        if(ferror(file))
        {
            printf("Error reading file. ");
            return 1;
        }
        for(int i = 0; i < COLUMNS; i++)
        {
            if(fscanf(file, "%d", &number[row][i]) == EOF)
            {
                break;
            }
        }
        row++;

        if(row = ROWS)
        {
            break;
        }

    fclose(file);

    for(int i = 0; i < ROWS; i++)
    {
        for(int j = 0; j < COLUMNS; j++)
        {
            printf("%d ", number[i][j]);
            printf("\n");
        }
    }

/*for (int j = 0; j < 100000; j++)
{
        printf("%d \n", number[j]);
        if(number[j] < 0)
        {
            fprintf(filed, "R");
        }
        else if(number[j] > 0)
        {
            fprintf(filed, "G");
        }
        else if(number[j] == 0)
        {
            fprintf(filed, "0");
        }
        else
        {
            fprintf(filed, "X");
        }
    } */

    return 0;
}

我已经尝试了几次stackoverflow以前的讨论并调整了我的代码,但它仍然打印零。 我什至观看了一个 youtube 视频并调整了 40% 的代码,它仍然打印为零。

c 整数 printf scanf txt

评论

5赞 JohnFilleau 10/15/2023
错字。 应该是if (file = NULL)if (file == NULL)
1赞 Fe2O3 10/15/2023
"并准确地输入了我所看到的“......无论你在哪里看,它都不好......你是在阅读初学者编写的(有缺陷的)代码,还是在阅读任何答案中的代码(我们希望,由知道自己在做什么的人编写......
6赞 ad absurdum 10/15/2023
您应该查看 “Why is while( !feof(file) ) 总是错的?”。此常见问题解答和其他常见问题解答可方便地列在 C 标签信息页面上

答: 暂无答案