Поделиться через


_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

scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l

sscanf, _sscanf_l, swscanf, _swscanf_l