提问人:Dawn Rhema 提问时间:10/15/2023 最后编辑:Fe2O3Dawn Rhema 更新时间:10/15/2023 访问量:53
我的 C 程序从文件中读取 100k 个数字,不断打印零 [关闭]
My C program to read 100k numbers from file keeps printing zeros [closed]
问:
帮助。我已经在这个代码上工作了 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% 的代码,它仍然打印为零。
答: 暂无答案
上一个:Scanf() 不区分括号
评论
if (file = NULL)
if (file == NULL)
while( !feof(file) ) 总是
错的?”。此常见问题解答和其他常见问题解答可方便地列在 C 标签信息页面上。