Я пытаюсь прочитать файл в следующем формате:
05874121 A 7
07894544 C 3
05655454 B 5
05879544 B 6
05763465 C 2
и присваивать каждое слово различным переменным (dni, model, trash)
Этот код работает в Linux, и я использую CLion для отладки.
char *path = "file.txt";
FILE *f;
int result;
char dni[9], model[1], trash[100];
f = fopen(path, "r");
do {
result = fscanf(f, "%s %s %s", dni, model, trash);
printf("DNI: %s\n", dni);
}
while( result > 0);
fclose(f);
Это должно напечатать значения первого столбца, но когда я запускаю программу, вывод просто:
"ДНР:"
"ДНР:"
"ДНР:"
... и т. д.
Во время отладки я понял, что «dni» правильно хранит все числа (как символы), но самый первый элемент, dni [0], всегда: 0 '/ 000'
как если бы это был конец строки.
Я не знаю, почему это происходит.