2013-11-09 2 views
0

мой вход имеет вид: number:number например 16:13 Моя цель - взять этот вход и разбить его на два числа.Номера сканирования как строка

например, первое число 16, второе число - 13. Есть ли способ использовать SCANF для чтения номеров напрямую? или только было использовать функцию для преобразования строки в числа после того, как я потеряю разделитель?

Я не могу изменить формат ввода.

+5

Прошло ли вообще какое-либо время, чтобы [прочитать документацию для 'scanf()'] (http://en.cppreference.com/w/c/io/fscanf)? – WhozCraig

+0

Я бы не использовал 'scanf()'. Я бы использовал 'fgets()', 'strchr()' и 'strtol()'. –

+0

Используйте [fgets()] (http://linux.die.net/man/3/fgets), чтобы прочитать всю строку и разбить ее на разделителе ':' используя [strtok] (http: //linux.die. нетто/человек/3/strtok) –

ответ

0

Это должно сделать трюк.

scanf_s("%d:%d", &num1, &num2); 
Смежные вопросы