現在,我有如何獲取文件中的元素數量?
int main(int argc, char *argv[]) {
if (argc != 3) {
printf("Invalid number of command line parameters, exiting...\n");
exit(1);
}
int *numReadings;
load_readings(argv[1], numReadings);
return 0;
}
int *load_readings(char fileName[], int *numReadings) {
FILE *in = NULL;
in = fopen(fileName, "r");
if (in == NULL) {
printf("Unable to open a file named \"%s\", exiting...\n", fileName);
fclose(in);
exit(4);
}
printf("%s\n", fileName);
int size = atoi(fileName);
printf("Size is %d\n", size);
int *data = (int *) calloc(size, sizeof(int));
int i;
for (i = 0; i < size; i++)
fscanf(in, "%d", (data + i));
}
}
當我做大小=的atoi(文件名)則返回0多個網站,包括這一次,我見過的人做「的atoi(argv的[1])」但我經常返回0.我的sample.txt文件有一堆由空格分隔的3位數字。我的印象是,一旦我獲得了正確的尺寸,它下面的所有東西都可以工作。
我認爲你對'atoi'的作用感到困惑 - 它只是將一個表示爲字符串的整數轉換爲實際的整數。所以,除非你的文件名是「12345」,否則不會做太多。 –
atoi不返回大小 –
請參見['stat'](http://pubs.opengroup.org/onlinepubs/9699919799/functions/stat.html)函數。 –