scanf_s 예제

fscanf_s 함수는 c, s 및 [변환 지정자가 한 쌍의 인수에 적용된다는 점을 제외하면 fscanf와 동일합니다(할당 억제가 *로 표시되지 않는 한). 이러한 인수의 첫 번째는 fscanf와 동일합니다. 해당 인수는 rsize_t 형식을 가지며 쌍의 첫 번째 인수가 가리키는 배열의 요소 수를 제공하는 두 번째 인수에 의해 인수 목록에서 바로 뒤에 오게 됩니다. 첫 번째 인수가 스칼라 오브젝트를 가리키는 경우 한 요소의 배열로 간주됩니다. a 및 A 지정기는 sscanf()와 함께 사용할 수 없습니다. 필요한 경우 크기 인수는 적용되는 인수 바로 다음에 매개 변수 목록에 전달되어야 합니다. 예를 들어 다음 코드: scanf()가 있는 문자열을 읽을 때 항상 %s 형식의 너비를 지정합니다(예: „%s“ 대신 „%32s“). 그렇지 않으면 잘못 서포맷된 입력으로 인해 버퍼 오버런이 발생할 수 있습니다. 또는 보안 버전 scanf_s(),_scanf_s_l(), wscanf_s(),_wscanf_s_l() 또는 fgets()를 사용하는 것이 좋습니다. 또는 wscanf_s(),_wscanf_s_l() 형식 문자는 유일한 필수 형식 필드이며 선택적 형식 필드 후에 나타납니다. 형식 문자는 연결된 인수가 문자, 문자열 또는 숫자로 해석되는지 여부를 결정합니다. 다음 표에는 forscanf()/scanf_s() 패밀리 함수에 사용되는 형식 문자가 요약되어 있습니다. 성공적으로 변환 및 할당된 필드 수를 반환합니다.

반환 값에는 읽었지만 할당되지 않은 필드는 포함되지 않습니다. 반환 값이 0이면 필드가 할당되지 않음을 나타냅니다. 반환 값은 오류에 대 한 EOF 또는 파일의 끝 문자 또는 문자열의 끝 문자 문자를 읽을 첫 번째 시도에서 발생 하는 경우. 형식이 NULL 포인터인 경우. 실행을 계속할 수 있는 경우 scanf_s() 및 wscanf_s() EOF를 반환하고 errno를 EINVAL로 설정합니다. scanf_s(),_s_s(),scanf_s() 및 _wscanf_s() 및 _wscanf_s() 함수 fscanf_s(), scanf_s(), sscnaf_s(), vscanf_s(), vfscanf_s() 및 vsscanf_s() 및 vsscanf_s() 는 최대 문자의 크기가 버퍼를 설명하는 경우 실패할 수 있습니다. 이 예제에서는 버퍼 형식의 너비가 형식 지정자의 너비와 일치하지 않습니다. 너비 사양은 %와 형식 필드 지정자 사이의 문자로 구성되며, 여기에는 너비 필드라고 하는 양수 정수와 필드의 크기를 나타내는 하나 이상의 문자가 포함될 수 있으며, 이는 형식의 수정자로 간주될 수도 있습니다. 정수 유형이 짧거나 긴지 여부를 나타내는 표시와 같은 필드입니다.

Die Kommentarfunktion ist geschlossen.