scanf 형식 필드 문자scanf Type Field Characters

다음 정보는 scanf 와 같은 보안 버전을 비롯하여 함수의 모든 scanf_s패밀리에 적용됩니다.The following information applies to any of the scanf family of functions, including the secure versions, such as scanf_s.

type 문자는 요구되는 유일한 서식 지정 필드이며 선택적 서식 필드 뒤에 표시됩니다.The type character is the only required format field; it appears after any optional format fields. type 문자는 관련된 인수가 문자, 문자열 또는 숫자로 해석되는지 여부를 결정합니다.The type character determines whether the associated argument is interpreted as a character, string, or number.

Scanf 함수의 형식 문자Type Characters for scanf functions

문자Character 필요한 입력 형식Type of input expected 인수의 형식Type of argument 보안 버전의 크기 인수?Size argument in secure version?
c 문자.Character. scanf 함수와 함께 사용될 때 단일 바이트 문자를 지정하고 wscanf 함수와 함께 사용될 때 와이드 문자를 지정합니다.When used with scanf functions, specifies single-byte character; when used with wscanf functions, specifies wide character. c 가 지정되어 있으면 일반적으로 건너뛰는 공백 문자를 읽습니다.White-space characters that are ordinarily skipped are read when c is specified. 공백이 아닌 싱글바이트 문자를 읽으려면 %1s를 사용하고 공백이 아닌 와이드 문자를 읽으려면 %1ws를 사용합니다.To read next non-white-space single-byte character, use %1s; to read next non-white-space wide character, use %1ws. char 함수와 함께 사용되는 경우 scanf 에 대한 포인터이고 wchar_t 함수와 함께 사용되는 경우 wscanf 에 대한 포인터입니다.Pointer to char when used with scanf functions, pointer to wchar_t when used with wscanf functions. 필수 요소.Required. 크기에는 null 종결자를 위한 공간이 포함되어 있지 않습니다.Size does not include space for a null terminator.
C 반대 크기 문자.Opposite size character. scanf 함수와 함께 사용될 때 와이드 문자를 지정하고, wscanf 함수와 함께 사용될 때 단일 바이트 문자를 지정합니다.When used with scanf functions, specifies wide character; when used with wscanf functions, specifies single-byte character. C 가 지정되어 있으면 일반적으로 건너뛰는 공백 문자를 읽습니다.White-space characters that are ordinarily skipped are read when C is specified. 공백이 아닌 싱글바이트 문자를 읽으려면 %1s를 사용하고 공백이 아닌 와이드 문자를 읽으려면 %1ws를 사용합니다.To read next non-white-space single-byte character, use %1s; to read next non-white-space wide character, use %1ws. wchar_t 함수와 함께 사용되는 경우 scanf 에 대한 포인터이고 char 함수와 함께 사용되는 경우 wscanf 에 대한 포인터입니다.Pointer to wchar_t when used with scanf functions, pointer to char when used with wscanf functions. 필수 요소.Required. 크기 인수에는 null 종결자를 위한 공간이 포함되어 있지 않습니다.Size argument does not include space for a null terminator.
d 10진수 정수.Decimal integer. int에 대한 포인터입니다.Pointer to int. 아니요.No.
i 정수입니다.An integer. 입력 문자열이 "0x" 또는 "0X"로 시작하는 경우 16진수이고 "0"으로 시작하는 경우 8진수이며 그렇지 않은 경우에는 10진수입니다.Hexadecimal if the input string begins with "0x" or "0X", octal if the string begins with "0", otherwise decimal. int에 대한 포인터입니다.Pointer to int. 아니요.No.
o 8진수 정수.Octal integer. int에 대한 포인터입니다.Pointer to int. 아니요.No.
p 16진수의 포인터 주소입니다.A pointer address in hexadecimal digits. 읽을 최대 자릿수는 컴퓨터 아키텍처에 따라 달라지는 포인터의 크기(32비트 또는 64비트)에 따라 달라집니다.The maximum number of digits read depends on the size of a pointer (32 or 64 bits), which depends on the machine architecture. "0x" 또는 "0X"는 접두사로 허용됩니다."0x" or "0X" are accepted as prefixes. void*에 대한 포인터입니다.Pointer to void*. 아니요.No.
u 부호 없는 10진수 정수.Unsigned decimal integer. unsigned int에 대한 포인터입니다.Pointer to unsigned int. 아니요.No.
x 16진수 정수.Hexadecimal integer. int에 대한 포인터입니다.Pointer to int. 아니요.No.
e, E, f, F, g, Ge, E, f, F, g, G 부동 소수점 값은 선택적 부호(+ 또는 -), 하나 이상의 일련의 10진수(소수점 포함) 및 선택적으로 부호 있는 정수 값이 뒤에 오는 선택적 지수("e" 또는 "E")로 구성됩니다.Floating-point value consisting of optional sign (+ or -), series of one or more decimal digits containing decimal point, and optional exponent ("e" or "E") followed by an optionally signed integer value. float에 대한 포인터입니다.Pointer to float. 아니요.No.
a, Aa, A 선택적인 소수점을 포함하는 일련의 하나 이상의 16진수로 구성되는 부동 소수점 값과 뒤에 10진수 값이 표시되는 지수("p" 또는 "P")입니다.Floating-point value consisting of a series of one or more hexadecimal digits containing an optional decimal point, and an exponent ("p" or "P") followed by a decimal value. float에 대한 포인터입니다.Pointer to float. 아니요.No.
n 스트림 또는 버퍼에서 읽은 입력이 아닙니다.No input read from stream or buffer. int에 대한 포인터로, 여기에는 scanf 함수 또는 wscanf 함수에 대한 현재 호출에서 해당 시점까지 스트림 또는 버퍼에서 성공적으로 읽은 문자 수가 저장됩니다.Pointer to int, into which is stored number of characters successfully read from stream or buffer up to that point in current call to scanf functions or wscanf functions. 아니요.No.
s 첫 번째 공백 문자(공백, 탭 또는 줄바꿈)까지의 문자열.String, up to first white-space character (space, tab or newline). 공백 문자로 구분되지 않는 문자열을 읽으려면[ ]에 설명된 대로 대괄호 집합( [ ]패밀리에 적용됩니다.To read strings not delimited by space characters, use set of square brackets ([ ]), as discussed in scanf Width Specification. scanf 함수와 함께 사용되는 경우 싱글바이트 문자 배열을 나타내고 wscanf 함수와 함께 사용되는 경우 와이드 문자 배열을 나타냅니다.When used with scanf functions, signifies single-byte character array; when used with wscanf functions, signifies wide-character array. 어떤 경우든 문자 배열은 입력 필드와 자동으로 추가되는 null 종결 문자가 포함될 수 있도록 충분히 커야 합니다.In either case, character array must be large enough for input field plus terminating null character, which is automatically appended. 필수 요소.Required. 크기에는 null 종결자를 위한 공간이 포함되어 있습니다.Size includes space for a null terminator.
S 첫 번째 공백 문자(공백, 탭 또는 줄바꿈)까지의 반대 크기 문자열.Opposite-size character string, up to first white-space character (space, tab or newline). 공백 문자로 구분되지 않는 문자열을 읽으려면 scanf 너비 지정에서 설명하는 것처럼 대괄호([ ])를 사용합니다.To read strings not delimited by space characters, use set of square brackets ([ ]), as discussed in scanf Width Specification. scanf 함수와 함께 사용되는 경우 와이드 문자 배열을 나타내고 wscanf 함수와 함께 사용되는 경우 싱글바이트 문자 배열을 나타냅니다.When used with scanf functions, signifies wide-character array; when used with wscanf functions, signifies single-byte-character array. 어떤 경우든 문자 배열은 입력 필드와 자동으로 추가되는 null 종결 문자가 포함될 수 있도록 충분히 커야 합니다.In either case, character array must be large enough for input field plus terminating null character, which is automatically appended. 필수 요소.Required. 크기에는 null 종결자를 위한 공간이 포함되어 있습니다.Size includes space for a null terminator.

필요한 경우 크기 인수는 자신이 적용되는 인수 바로 뒤에 따라오는 매개 변수 목록에서 전달되어야 합니다.The size arguments, if required, should be passed in the parameter list immediately following the argument they apply to. 예를 들어, 다음 코드는For example, the following code:

char string1[11], string2[9];  
scanf_s("%10s %8s", string1, 11, string2, 9);  

최대 길이가 10인 문자열을 string1로 읽고 최대 길이가 8인 문자열을 string2로 읽습니다.reads a string with a maximum length of 10 into string1, and a string with a maximum length of 8 into string2. 공백은 null 종결자를 위해 예약되어 있어야 하므로 버퍼 크기는 너비 지정보다 하나 이상 커야 합니다.The buffer sizes should be at least one more than the width specifications since space must be reserved for the null terminator.

형식 문자열은 함수의 싱글바이트 문자 또는 와이드 문자 버전 사용 여부에 관계없이 싱글바이트 또는 와이드 문자 입력을 처리할 수 있습니다.The format string can handle single-byte or wide character input regardless of whether the single-byte character or wide-character version of the function is used. 따라서 scanf 함수 및 wscanf 함수와 함께 싱글바이트 또는 와이드 문자를 읽으려면 다음과 같이 형식 지정자를 사용합니다.Thus, to read single-byte or wide characters with scanf functions and wscanf functions, use format specifiers as follows.

문자를 읽을 형식To read character as 이 함수 사용Use this function 함께 사용할 형식 지정자With these format specifiers
싱글바이트single byte scanf 함수scanf functions c, hc또는 hCc, hc, or hC
싱글바이트single byte wscanf 함수wscanf functions C, hc또는 hCC, hc, or hC
와이드wide wscanf 함수wscanf functions c, lc또는 lCc, lc, or lC
와이드wide scanf 함수scanf functions C, lc또는 lCC, lc, or lC

scanf 함수 및 wscanf 함수를 사용하여 문자열을 검색하려면 sS 대신 cC형식 유형 지정자와 함께 위 테이블을 사용합니다.To scan strings with scanf functions, and wscanf functions, use the above table with format type-specifiers s and S instead of c and C.

참고 항목See Also

scanf, _scanf_l, wscanf, _wscanf_lscanf, _scanf_l, wscanf, _wscanf_l