_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
Считывает форматированные данные с консоли.Существуют более безопасные версии этих функций; см. раздел _cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l.
Важно |
---|
Этот API нельзя использовать в приложениях, запускаемых в среде выполнения Windows.Дополнительные сведения см. в разделе Функции CRT не поддерживаются при /ZW. |
int _cscanf(
const char *format [,
argument] ...
);
int _cscanf_l(
const char *format,
locale_t locale [,
argument] ...
);
int _cwscanf(
const wchar_t *format [,
argument] ...
);
int _cwscanf_l(
const wchar_t *format,
locale_t locale [,
argument] ...
);
Параметры
format
Строка Формат-элемента управления.argument
Необязательные параметры.locale
Используемый языковой стандарт.
Возвращаемое значение
Количество полей, которые были успешно выполняется и были присвоены.Возвращаемое значение не включает поля, считанных, но не присвоены.Возвращаемое значение EOF для попытка чтения в конце файла.Это может произойти, если ввод данных с клавиатуры перенаправляется на уровне командной строки операционной системы.Возвращаемое значение 0 означает, что никакие поля не были присвоены.
Заметки
Функция _cscanf считывает данные непосредственно из консоли в расположения, определяемого argument.Функция _getche используется для чтения знаков.Для каждого необязательного параметра должен быть указателем на переменную с типом, который соответствует спецификатору типа в format.Управления формата интерпретация полей ввода и имеют те же форму и функцию, что и параметр format для функции scanf.Когда _cscanf обычно вторит символу ввода, этого не происходит, если последняя возможность была в _ungetch.
Эта функция проверяет его параметры.Если формат NULL, то обработчик вызывается недопустимого параметра, как описано в разделе Проверка параметров.Если среда выполнения может продолжить, свойство errno имеет значение EINVAL и функция возвращает значение EOF.
Версии этих функций с суффиксом _l идентичны, за исключением того, что они используют переданный параметр языкового стандарта вместо текущего языкового стандарта потока.
Универсальное текстовое сопоставление функций
Функция TCHAR.H |
Не указаны _UNICODE и _MBCS |
определенные _MBCS |
Определение _UNICODE |
---|---|---|---|
_tcscanf |
_cscanf |
_cscanf |
_cwscanf |
_tcscanf_l |
_cscanf_l |
_cscanf_l |
_cwscanf_l |
Требования
Функция |
Требуемый заголовок |
---|---|
_cscanf,_cscanf_l |
<conio.h> |
_cwscanf, _cwscanf_l |
<conio.h> или <wchar.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость во введении.
Пример
// crt_cscanf.c
// compile with: /c /W3
/* This program prompts for a string
* and uses _cscanf to read in the response.
* Then _cscanf returns the number of items
* matched, and the program displays that number.
*/
#include <stdio.h>
#include <conio.h>
int main( void )
{
int result, i[3];
_cprintf_s( "Enter three integers: ");
result = _cscanf( "%i %i %i", &i[0], &i[1], &i[2] ); // C4996
// Note: _cscanf is deprecated; consider using _cscanf_s instead
_cprintf_s( "\r\nYou entered " );
while( result-- )
_cprintf_s( "%i ", i[result] );
_cprintf_s( "\r\n" );
}
Ввод
1 2 3
Output
Enter three integers: 1 2 3
You entered 3 2 1
См. также
Ссылки
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
fscanf, _fscanf_l, fwscanf, _fwscanf_l