c fgets 예제

gets() 표준 입력에서 입력을 읽을 때 fgets()가 파일에서 줄 바함(`n`) 문자를 읽을 때 줄 바호(`n`)를 null 문자(`n`)로 변환하는 반면에 줄 줄(`n`)으로 변환하면 null 문자(“)로 변환됩니다. 다음 예제에서는 fgets() 함수의 사용을 보여 주십니다. 예 : 최대 문자 수가 15이고 입력 길이가 15보다 크지만 여전히 fgets()는 15 자만 읽고 인쇄한다고 가정 해 봅시다. 텍스트 입력에 fgets() 함수를 사용하는 방법… fgets()는 사용자의 입력을 읽기 때문에 런타임 중에 입력을 제공해야 합니다. 연습 1: fgets() 함수에서 소스 코드를 입력하여 문자열을 새 프로젝트ex0716으로 읽습니다. 컴파일 및 실행합니다. 함수 fgets()는 30의 인수로 호출되므로 파일에서 29 자를 읽고 끝에 null 문자를 추가하여 배열 str에 저장합니다. 그런 다음 puts() 함수가 호출되어 str의 내용을 표시합니다. puts() 함수는 문자열 끝에 있는 null 문자(“)를 줄 바호(`n`) 문자로 변환하여 문자열을 콘솔에 인쇄합니다.

이것이 각 반복 후에 줄 바호가 인쇄되는 이유입니다. 두 번째 반복 fgets()에서는 27자를 읽은 후 파일의 끝이 발생합니다. puts() 함수는 끝에 줄바렌(`n`)과 함께 이러한 27자를 인쇄하기 위해 다시 호출됩니다. fgets() 함수는 세 번째로 다시 호출되지만 읽을 문자가 더 이상 남아 있지 않으므로 NULL을 반환하므로 while 조건이 false가 되고 컨트롤이 while 루프에서 나옵니다. 운영 체제는 표준 입력을 파일처럼 간주하므로 fgets()를 사용하여 키보드에서 텍스트를 읽을 수 있습니다. 다음은 텍스트 입력 읽기에 적용되는 fgets() 함수의 단순화 된 버전입니다 : 다음 내용이있는 텍스트 파일 file.txt가 있다고 가정해 봅시다. 이 파일은 우리의 예제 프로그램에 대한 입력으로 사용됩니다 -이 예에서 문자열은 char 배열, 문자열 변수의 이름입니다; 크기는 입력할 텍스트의 양과 char 배열과 동일한 크기여야 합니다. stdio.h 헤더 파일에 정의된 표준 입력 장치의 이름입니다. gets()는 표준 입력에서 입력을 읽는 반면 fgets()는 파일에서 읽습니다.

이 외에도 가장 중요한 차이점은 이것입니다 : 무서운, 아니? fgets()는 “파일 get string”에서와 같이 파일에서 텍스트를 읽는 파일 함수이기 때문입니다. 프로그래머가 밤새 도록 이야기하는 방식입니다. C 프로그래밍 언어의 범용 텍스트 입력 함수의 경우 첫 번째 공백 문자를 넘어 읽는 함수는 fgets() 함수를 사용해 보십시오.