У меня проблемы с sscanf
Я хотел сделать через sscanf спарсить вот это: mes-ndf (У меня будут не предсказуемые размеры слов), и мне нужно получить два буквенных массива: mes и ndf, но когда я пытался создать так:
include <stdio.h>
int main() {
char txt[] = "mes-ndf";
char a[32];
char b[32];
sscanf(txt, "%s-%s", a, b);
printf("%s and %s", a, b);
}
Я получаю вот это: mes-ndf and p@
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Объясните явно, что в первой строке может быть что угодно, кроме символа -:
int main() {
char txt[] = "mes-ndf";
char a[32];
char b[32];
sscanf(txt, "%[^-]-%s", a, b);
printf("%s and %s", a, b);
}