今、私は持っています
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));
}
}
そして、size = atoi(fileName)を実行すると、0が返されます。これを含む複数のサイトで、人々が「atoi(argv [1])」を実行するのを見てきましたが、私のものは常に0を返します。私のsample.txtファイルにはたくさんありますスペースで区切られた3桁の数字の。サイズを正しく取得すれば、それ以下のすべてが機能するという印象を受けます。