Прошу прощения, что я беспокоюсь о С.О. с таким общим запросом информации.C99 - vscanf для чайников?
Я могу найти множество очень терминологических определений vscanf - но я не могу найти много примеров конкретного примера, который покажет, что возвращается из функции, кроме этого довольно приятного в IBM сайт инфоцентр:
http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/index.jsp?topic=%2Frtref%2Fvscanf.htm
Однако этот пример только для ввода строки в одну строку, в то время как я пытаюсь сделать то же самое, но чтение из текстового файла с несколькими линиями.
Должен ли я использовать fgets() для чтения строки за раз, а затем использовать vscanf? Должен ли я использовать его внутри функции, как это делает пример Infocenter IBM, помещая его в функцию vread()?
Я студент-студент первого года обучения, но это не вопрос для задания, я просто пытаюсь сделать дополнительную работу и расширить свои знания, и пока нам еще не добрался/vscanf.
Должен ли я просто использовать sscanf? Приносим извинения, если это так глупо.
P.S. Мне нравится учиться C. Самое увлекательное, что у меня было в школе за 31 год на этой планете, кроме того, когда я однажды проводил мастерскую Шекспира с некоторыми людьми из RSC.
Добро пожаловать в переполнение стека. Вскоре прочитайте [FAQ]. Функция 'vread()' не является частью C99 (или POSIX). Вы можете найти информацию о ['vscanf()'] (http://pubs.opengroup.org/onlinepubs/9699919799/functions/vscanf.html) на веб-сайте POSIX. Возвращаемое значение такое же, как для любой другой функции 'scanf()' family; количество успешных преобразований. –
О, ладно, так что это просто работает как sscanf ... Спасибо за ссылку, но есть ли способ, которым вы можете немного потушить меня? Я предполагаю, что вы имеете в виду то же самое ", за исключением того, что вместо вызова с переменным числом аргументов они вызываются с помощью списка аргументов, как определено в заголовке." –
Если вы не знаете, как использовать списки аргументов переменной длины, в первую очередь, маловероятно, что вы должны пытаться использовать 'vfscanf()'. Я никогда не нуждался в нем только в течение 30 лет программирования C. Я знаю, как его использовать, но я никогда не был в таком положении, когда это имело смысл; действительно, я не уверен, что смогу разработать сценарий, где это имеет смысл.(Кстати, 'vread()' неизвестен Google.) Вы знаете, как использовать 'vfprintf()'? Вы знаете, как использовать 'fscanf()'? Синтез этих двух частей знаний в использование 'vscanf()' et al в основном прямолинейный. –