Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вариант_№22.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
318.46 Кб
Скачать

Int main(void)

{

int inumber = 30;

float fnumber = 90;

char *string = "abc";

vscnf("%d %f %s",&inumber,&fnumber,string);

printf("%d %f %s",inumber,fnumber,string);

return 0;

}

vsprintf

Функция Посылает отформатированный вывод в строку.

Синтаксис #include <stdarg.h>

int vsprintf(char *string, const char *format,

va_list arglist);

ФАйл, содержащий stdio.h

прототип

Описание Функции v...printf известны как дополнительные

точки входа для функций ...printf. Они ведут себя

точно также, как и их ...printf-двойники, но они

имеют доступ к указателю на список аргументов, а

не к самому списку.

vsprintf осуществляет доступ к указателю на серии

аргументов, применяет к каждому аргументу формат-

ную спецификацию, содержащуюся в строке формата,

на которую указывает format, и осуществляет вывод

отформатированных данных в строку. Число специфи-

каций формата должно быть равно числу аргументов.

Смотри в printf описание информации, включаемой в

спецификацию формата.

Возвращаемое vsprintf возвращает число выведенных байтов. В

значение случае ошибки vsprintf возвращает EOF.

Переносимость vsprintf поддерживается на UNIX System V, и сов-

местима с ANSI C.

Смотрите также printf, va_arg, va_end, va_start.

= 283 =

Пример:

#include<stdio.h>

#include<conio.h>

char buffer[80];

int vspf(char *fmt, ...);

{

va_list argptr;

int cnt;

va_start(argptr,format);

cnt = vsprintf(buffer,fmt,argptr);

va_end(argptr);

return cnt;

}

Int main(void)

{

int inumber = 30;

float fnumber = 90;

char string[4] = "abc";

vspf("%d %f %s",inumber,fnumber,string);

printf("%s",buffer);

return 0;

}

vsscanf

Функция Выполняет форматный ввод из потока.

Синтаксис #include <stdarg.h>

int vsscanf(const char *buffer, const char *format,

va_list arglist);

Файл, содержащий stdio.h

прототип

Описание Функции v...scanf известны как дополнительные

точки входа для функций ...scanf. Они ведут себя

точно также, как и их ...scanf-двойники, но они

имеют доступ к указателю на список аргументов, а

не к самому списку.

vsscanf сканирует несколько полей ввода и читает

из потока по одному символу в каждый момент вре-

мени. Затем каждое поле форматируется в соответс-

твии с форматной спецификацией, передавемой в

vsscanf в форматной строке, на которую указывает

format. И наконец, vsscanf запоминает отформати-

= 284 =

рованный ввод по адресу, передаваемому ему в ка-

честве аргумента, следующего за format. Число

спецификаций формата и адресов должно быть равно

числу полей ввода.

Смотри в scanf описание информации, включенной в

спецификацию формата.

vsscanf может закончить сканирование конкретного

поля, не достигнув нормального символа конца_поля

(пробел), или полностью прервать его по ряду при-

чин. Смотри в scanf описание различных случаев.

Возвращаемое vsscanf возвращает число входных полей, которые

значение были сосканированы, преобразованы и запомнены.

Возвращаемое значение не включает сканированные

поля, которые не были запомнены. Если не было

сохранено ни одно поле, то возвращаемое значение

- 0.

Если vsscanf пытается читать в конце_файла, то

возвращаемое значение EOF.

Переносимость vsscanf поддерживается на UNIX System V.

Смотрите также fscanf, scanf, va_arg, va_end, va_start.

Пример:

#include<stdio.h>

#include<conio.h>

char buffer[80] = "30 90.0 abc";

int vssf(char *fmt, ...);

{

va_list argptr;

int cnt;

fflash(stdin);

va_start(argptr,format);

cnt = vsscanf(buffer,fmt,argptr);

va_end(argptr);

return cnt;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]