Прямого пути нет, потому что scanf
и друзья - это всего лишь парсер бедного человека .Если у вас есть значения, разделенные произвольным числом пробел символов (пробел, табуляция, возврат, перевод строки и vtab), и не имеет значения, что это за разделители, scanf
хорошо.
Если вы хотите обработать строки и затем проанализировать содержимое строки, fgets
- это путь.К сожалению, вы не можете повторно сканировать из строки, но вы можете создавать хорошие парсеры строк с strtok
или лучше strcspn
Другие языки (C ++, Java и т. Д.) Или, возможно, другие библиотеки могут иметь более умные инструменты,Но C изначально был построен как язык низкого уровня ...