В настоящее время я разрабатываю простое приложение C. Он принимает один файл в качестве аргумента командной строки, который имеет следующий формат:
1,2,3
4,5,6
7,8,9
etc.
Однако по какой-то причине fscanf
никогда не сканирует числа! Вот пример:
#include <stdio.h>
int main(int argc, char **argv) {
FILE *file = fopen(*argv, "r");
int i1, i2, i3;
while (fscanf(file, "%d,%d,%d", &i1, &i2, &i3) == 3) {
printf("Doing stuff with %d, %d, and %d...\n", i1, i2, i3);
}
fclose(file);
return 0;
}
Если вы запустите его с именем файла в качестве аргумента, он немедленно завершится, потому что fscanf
возвращает 0. Я пробовал несколько вариантов этого, но безрезультатно. Как заставить fscanf
правильно читать числа?
fopen()
? - person Sourav Ghosh   schedule 27.01.2016argv[0]
в порядке, но, увы, она сможет сканировать только три числа, разделенные запятыми, из этих байтов в исключительных случаях ;-). - person Peter - Reinstate Monica   schedule 27.01.2016