fscanf_s 예제

우리가 필요로하는 입력의 일부만 읽는 방법은 무엇입니까? 예를 들어 정수 또는 float 뒤에 문자만 포함하는 일부 입력 스트림을 고려해 보십시오. 그리고 우리는 정수 또는 부동만 스캔해야합니다. 즉, 입력 : “이것은 값 100”, 출력 : 값 읽기는 100 fscanf_s 함수는 인수에 의해 주어진 위치로 스트림의 현재 위치에서 데이터를 읽습니다 (있는 경우). 각 인수는 형식의 형식 지정자에 해당하는 형식의 변수에 대한 포인터여야 합니다. format은 입력 필드의 해석을 제어하며 scanf_s에 대한 형식 인수와 동일한 형식 및 함수를 가짐을 가며, 형식 사양 필드: 검색 및 wscanf 형식에 대 한 설명을 참조 하십시오. fwscanf_s는 fscanf_s의 광범위한 문자 버전입니다. fwscanf_s에 대한 형식 인수는 와이드 문자 문자열입니다. 이러한 함수는 ANSI 모드에서 스트림을 열면 동일하게 작동합니다. fscanf_s는 현재 유니코드 스트림의 입력을 지원하지 않습니다. 다음 예제에서는 fscanf() 함수의 사용을 보여 주십니다.

format – 이것은 다음 항목 중 하나 이상을 포함하는 C 문자열입니다 – 공백 문자, 비 공백 문자 및 형식 지정. 형식 지정자는 [=%[*][[[수정자][[수정자]유형=]으로, 아래에 설명되어 있습니다 – printf 함수 패밀리는 %p 형식 지정기를 사용하여 동일한 시퀀스를 생성해야 하며, 다른 줄에 입력된 두 개의 정수를 읽습니다(두 번째 %d는 줄 바임) 또는 공백 이나 탭으로 구분 된 동일한 줄에 (두 번째 %d는 공백 또는 탭을 사용 합니다). 집합의 첫 번째 문자가 ^이면 집합에 없는 모든 문자가 일치합니다. 집합이 ] 또는 ^]으로 시작하면] 문자도 집합에 포함됩니다. [0-9]에서와 같이, 스캔셋내의 비초기 위치에서 문자가 범위를 나타낼 수 있는지 여부를 구현정의한다. 너비 지정기를 사용하는 경우 너비까지만 일치합니다. 항상 일치하는 문자 이외에 null 문자를 저장합니다 (그래서 인수 배열은 적어도 너비 + 1 문자에 대한 공간이 있어야합니다) 추가 인수 – 형식 문자열에 따라 함수는 각각 추가 인수의 시퀀스를 기대할 수 있습니다. 형식 매개 변수에 지정된 각 %태그 대신 삽입할 하나의 값을 포함합니다(있는 경우). 값을 예상하는 %태그 수와 이러한 인수의 수가 같아야 합니다.

입력 : “이것은 값 21.2”, 출력 : 값 읽기는 21.2 스트림입니다 – 이것은 스트림을 식별하는 FILE 개체에 대한 포인터입니다.