gpt4 book ai didi

C、从文件读入数组,逐个编号

转载 作者:行者123 更新时间:2023-12-04 06:52:50 25 4
gpt4 key购买 nike

void readfromFile() {

FILE *myFile;
myFile = fopen("matrikel.txt", "r");

//read file into array
int numberArray[12];
int i;

if (myFile == NULL) {
printf("Error Reading File\n");
exit (0);
}

for (i = 0; i < 12; i++) {
fscanf(myFile, "%d,", &numberArray[i] );
}

for (i = 0; i < 1; i++) {
printf("Number is: %d\n\n", numberArray[i]);
}

fclose(myFile);
}

“matrikel.txt”包含

808098822790 

这个数字对于 int numberArray[12] 来说似乎太长了,当运行代码时它会打印一个随机数。当从它工作的数字末尾切割一些单个整数时,最大长度似乎是 9。

我不太确定,但第一个 for 循环中的 fscanf 不应该将一个数字打印到 numberArray[] 的每个单元格中吗?

最佳答案

scanf 的格式说明符遵循此原型(prototype):%[*][width][length]specifier因此,对于 %1d,您每次都会读取一个数字。但是使用 fgetc(myFile);

将每个数字读取为 char 会更简单
 for (i = 0; i < 12; i++) {
int c = fgetc(myFile);
if(c == EOF)
break;
numberArray[i] = c - '0';
}

关于C、从文件读入数组,逐个编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48207034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com