[英]C, read from file into array, number by number
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的格式说明符: %[*][width][length]specifier
因此,使用%1d
您每次都会读取一个数字。 但是使用fgetc(myFile);
以char形式读取每个数字会更简单fgetc(myFile);
for (i = 0; i < 12; i++) {
int c = fgetc(myFile);
if(c == EOF)
break;
numberArray[i] = c - '0';
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.