fgets 예제

By 2019. augusztus 2. Egyéb No Comments

이 예제에서 문자열은 char 배열, 문자열 변수의 이름입니다. 크기는 입력할 텍스트의 양과 char 배열과 동일한 크기여야 합니다. stdio.h 헤더 파일에 정의된 표준 입력 장치의 이름입니다. 우리가 가정하자, 우리는 다음과 같은 내용이 텍스트 파일 file.txt이있습니다. 이 파일은 우리의 예제 프로그램에 대한 입력으로 사용됩니다 – . 연습 1: fgets() 함수에서 소스 코드를 입력하여 문자열을 새 프로젝트ex0716으로 읽습니다. 컴파일 및 실행합니다. gets() 및 fgets()는 성공을 거두고 NULL은 오류 또는 파일 끝이 읽혀진 동안 발생하는 경우를 반환합니다. 예 : 15 자 문자 배열이 있고 입력이 15 자보다 크고 gets()가 모든 문자를 읽고 변수로 저장한다고 가정합니다. 따라서 gets()는 입력 문자의 최대 제한을 확인하지 않으므로 언제든지 컴파일러가 버퍼 오버플로 오류를 반환할 수 있습니다. 다음은 텍스트 입력 읽기에 적용되는 fgets() 함수의 단순화된 버전입니다: 표준 입력(stdin)에서 문자를 읽고 줄 바선 문자 또는 파일 끝에 도달할 때까지 C 문자열로 저장합니다. 구문: 공백이 있는 문자열 값을 읽으면 C 프로그래밍 언어로 gets() 또는 fgets()를 사용할 수 있습니다.

여기서는 gets()와 fgets()의 차이점을 살펴보겠습니다. 성공시 함수는 동일한 str 매개 변수를 반환합니다. 파일 끝이 발생하고 문자를 읽지 않은 경우 str의 내용은 변경되지 않고 null 포인터가 반환됩니다. fgets()는 사용자의 입력을 읽기 때문에 런타임 중에 입력을 제공해야 합니다. 운영 체제는 표준 입력을 파일처럼 간주하므로 fgets()를 사용하여 키보드에서 텍스트를 읽을 수 있습니다. 19-22 줄에서, while 루프는 myfile2.txt의 내용을 읽는 데 사용됩니다. 루프가 작동하는 동안방법은 다음과 같습니다: 지정된 스트림에서 줄을 읽고 str이 가리키는 문자열에 저장합니다. (n-1) 문자를 읽거나 줄 바선 문자를 읽거나 파일 끝에 도달하면 중지됩니다. 구문 : 무서운, 아니? fgets()는 “파일 get string”에서와 같이 파일에서 텍스트를 읽는 파일 함수이기 때문입니다. 프로그래머가 밤새 도록 이야기하는 방식입니다. gets()는 표준 입력에서 입력을 읽는 반면 fgets()는 파일에서 읽습니다.

이 외에도 가장 중요한 차이점은 이것 외에도 표준 입력에서 입력을 읽을 때 sgets()가 줄 줄(`n`)을 null 문자로 변환하는 반면, fgets(는 파일에서 줄 바호(`n`) 문자를 null로 변환하지 않습니다. 문자(“)는 그대로 유지됩니다.