scanf 예제

Skrevs fredagen den 2 augusti, 2019

scanf는 일반적으로 프로그램이 입력이 예상 된 형식임을 보장 할 수없는 상황에서 사용됩니다. 따라서 강력한 프로그램은 scanf 호출이 성공했는지 확인하고 적절한 조치를 취해야 합니다. 입력이 올바른 형식이 아닌 경우 잘못된 데이터는 여전히 입력 스트림에 남아 있으며 새 입력을 읽기 전에 읽고 삭제해야 합니다. 이를 방지하는 입력을 읽는 다른 방법은 fgets를 사용한 다음 읽은 문자열을 검사하는 것입니다. 예를 들어 마지막 단계는 sscanf에 의해 수행 될 수 있습니다. scanf 형식 문자열(”스캔 형식”을 의미함)은 다양한 프로그래밍 언어의 문자열 처리 라이브러리에서 함수 클래스에서 사용하는 제어 매개 변수를 나타냅니다. 형식 문자열은 문자열을 임의의 수의 다양한 데이터 형식 매개 변수로 읽는 메서드를 지정합니다. 입력 문자열은 기본적으로 표준 입력에서 읽지만 다른 소스에서 입력을 읽는 변형이 있습니다. scanf 함수에는 다음과 같은 프로토타입/서명이 있습니다. 입력이 2018년 30월 01일이며 일, 월, 연도를 정수로 별도로 얻으려고 한다고 가정합니다. 문자열 형식의 ” * ”를 사용하여 이 작업을 수행할 수 있습니다. scanf 함수는 표준 입력(종종 명령줄 인터페이스 또는 유사한 종류의 텍스트 사용자 인터페이스)에서 숫자 및 기타 데이터 형식에 대한 입력을 읽는 C에서 찾을 수 있습니다.

이제 위의 텍스트 파일의 도시 필드만 읽고 다른 모든 필드를 무시합니다. 위에서 언급 한 fscanf와 트릭의 조합은 scanf에서 쉽게 [set]을 수행합니다 : 문자열 형식의 [set]을 사용하여 scanf에서 맛과 같은 정규 식을 얻을 수 있습니다. 이 메서드는 정수 또는 float 형식에서는 작동하지 않습니다. [집합]을 사용하면 문자 유형 입력만 수행할 수 있습니다. C 프로그래밍 언어에서 scanf는 stdin(즉, 리디렉션되지 않는 한 일반적으로 키보드인 표준 입력 스트림)에서 서식이 지정된 데이터를 읽고 결과를 주어진 인수에 기록하는 함수입니다. 마지막 예제에서 연산자 주소 (&)는 인수에 사용 되지 않습니다. 식과 단어는 수치적으로 동일한 값으로 평가되지만 의미상 요소가 아닌 전체 배열의 주소를 의미한다는 점에서 완전히 다른 의미를 가집니다. 이 사실은 문자열에 scanf 출력을 할당할 때 염두에 두어야 합니다.

sscanf 파생 함수는 첫 번째 인수로 전달된 문자 문자열의 입력을 읽습니다. fscanf와 다른 한 가지 중요한 점은 함수가 호출될 때마다 문자열을 처음부터 읽는다는 것입니다. 성공적인 읽기 작업에 증분되는 `포인터`는 없습니다. 프로토타입은 다음과 같습니다: 이 함수는 동일한 기능을 가지고 있지만 데이터 원본에서만 다른 함수 제품군에 속합니다. 예를 들어 fscanf는 파일 스트림에서 입력을 받는 반면 sscanf는 문자열에서 입력을 가져옵니다. 모두의 조합 : 당신은 scanf에서 ” * ” , 숫자 및 [세트]의 조합을 사용할 수 있습니다. fscanf 파생 함수는 지정된 파일 스트림에서 입력을 읽습니다. 프로토 타입은 다음과 같습니다 : 연습 : fscanf를 사용하여 파일의 단어, 문자 및 줄의 수를 계산! 우리가 필요로하는 입력의 일부만 읽는 방법은 무엇입니까? 예를 들어 정수 또는 float 뒤에 문자만 포함하는 일부 입력 스트림을 고려해 보십시오. 그리고 우리는 정수 또는 부동만 스캔해야합니다. 즉 , 입력 : ”이것은 값 100”, 출력 : 값 읽기는 100 간단한 유형 지정기는 퍼센트 (%)로 구성됩니다. 기호와 문자를 나타내는 알파 문자입니다.

다음은 scanf에서 인식하는 형식 지정자의 몇 가지 예입니다: scanf는 C 프로그래밍 언어에서 유래한 지정된 문자열 스트림 소스에서 지정된 형식으로 데이터를 읽는 함수이며 다른 많은 프로그래밍 언어로 제공됩니다.

Teater Kapija
Örmölla 321
SE-274 56 Abbekås

+46 (0)411 533 772
+46 (0)70 740 17 61

info@kapija.com
www.kapija.com