Моя основная проблема заключается в том, что при печати из элемента struct s s.name печатается дважды.Printf выводит один и тот же массив дважды
Код:
#include <stdio.h>
struct Item{
char code[5];
char name[40];
};
int main(){
FILE *f;
struct Item s;
//Open file
f = fopen("ex.txt", "r");
//Read from file
fscanf(f, "%5c;%[a-zA-Z ]\n", s.code, s.name);
//Print from file
printf("%s %s", s.code, s.name); //Main problem here
fclose(f);
}
ввода (ex.txt):
AB011;Hello World
Вывод должен быть:
AB011 Hello World
Но вместо того, чтобы это:
AB011Hello World Hello World
Что здесь происходит?
Дополнительные примечания: Мне нужно использовать fscanf для этого, чтобы я мог узнать, как это работает.
что gst_file? Разве вы не читали из файла, который вы открыли? –
'% s': аргумент нужен null-terminator. – BLUEPIXY
@JewelThief Да, извините. Просто поправил его. – Steve