Я новичок в C, и все примеры моей проблемы, которые я нашел, не работали, или я совершенно неправильно понял, что это за решение. У меня есть большой файл с данными, который выглядит так:
LYS 24L HB2 45,212 39,585 124,457 SC0 0,145 -0,795 0,585 0,157
на каждой строке. Я токенизировал данные уже с помощью strtok. Что мне нужно, так это второе поле, я хочу, чтобы 24 сохранялись как целое число для сравнения, а L также сохранялось как char для сравнения.
я пытался использовать
sscanf(token[1], "%d%s", number, letter);
но я продолжаю получать ошибку ошибки сегментации. Также после дальнейших экспериментов с sscanf я попытался просто распечатать «LYS» (в попытке глубже понять мою проблему), однако моя программа печатала только L, используя следующую команду:
sscanf(token[0], "%c", &stemp);
letter = stemp;
printf("%c \n", letter);
Однако, если изменить %c ---> %s (надеясь получить всю строку), я снова получаю ошибку Segmentation fault... Что-то я не понимаю в команде sscanf? Почему я не могу прочитать всю строку?? Заранее спасибо за ваше время и помощь!!
Павел