将文本文件中的数字读入 C 中的数组 [英] Reading numbers from a text file into an array in C
问题描述
我是编程菜鸟,请多多包涵.
I'm a programming noob so please bear with me.
我正在尝试将文本文件中的数字读入数组.文本文件somenumbers.txt"仅包含 16 个数字,例如5623125698541159".
I'm trying to read numbers from a text file into an array. The text file, "somenumbers.txt" simply holds 16 numbers as so "5623125698541159".
#include <stdio.h>
main()
{
FILE *myFile;
myFile = fopen("somenumbers.txt", "r");
//read file into array
int numberArray[16];
int i;
for (i = 0; i < 16; i++)
{
fscanf(myFile, "%d", &numberArray[i]);
}
for (i = 0; i < 16; i++)
{
printf("Number is: %d\n\n", numberArray[i]);
}
}
该程序不起作用.它编译但输出:
The program doesn't work. It compiles but outputs:
号码是:-104204697
Number is: -104204697
数字是:0
号码是:4200704
Number is: 4200704
号码是:2686672
Number is: 2686672
号码是:2686728
Number is: 2686728
号码是:2686916
Number is: 2686916
号码是:2004716757
Number is: 2004716757
号码是:1321049414
Number is: 1321049414
数字是:-2
号码是:2004619618
Number is: 2004619618
号码是:2004966340
Number is: 2004966340
号码是:4200704
Number is: 4200704
号码是:2686868
Number is: 2686868
号码是:4200798
Number is: 4200798
号码是:4200704
Number is: 4200704
号码是:8727656
Number is: 8727656
进程返回 20 (0x14) 执行时间:0.118 秒按任意键继续.
Process returned 20 (0x14) execution time : 0.118 s Press any key to continue.
推荐答案
改为
fscanf(myFile, "%1d", &numberArray[i]);
这篇关于将文本文件中的数字读入 C 中的数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!