공백이 있는 문자열 값을 읽으려면 C 프로그래밍 언어에서 gets() 또는 fgets()를 사용할 수 있습니다. 여기서는 gets()와 fgets()의 차이점을 살펴보겠습니다.
fgets()
fgets()는 지정된 스트림에서 한 줄을 읽고 이를 str이 가리키는 문자열에 저장합니다. (n-1) 문자를 읽거나 개행 문자를 읽거나 파일 끝에 도달하는 경우 중 먼저 발생하는 경우 중지됩니다.
통사론
char * fgets (char * str , int n , FILE * stream );>
매개변수
- str: 읽은 문자열이 복사되는 문자 배열에 대한 포인터입니다. n: str에 복사할 최대 문자 수(종료 널 문자 포함). *stream: 입력 스트림을 식별하는 FILE 개체에 대한 포인터입니다.
참고: 표준 입력 표준 입력에서 읽기 위한 인수로 사용할 수 있습니다.
반환 값
- fgets() 함수는 입력이 저장된 문자열에 대한 포인터를 반환합니다.
fgets()의 특징
- 최대 길이, 버퍼 및 입력 장치 참조와 같은 일부 매개변수를 따릅니다.
- 그것은 안전한 바인딩된 배열을 확인하기 때문에 사용합니다.
- 새 줄 문자가 나타나거나 문자 배열의 최대 한계에 도달할 때까지 계속 읽습니다.
fgets()의 예
최대 문자 수가 15이고 입력 길이가 15보다 길지만 여전히 fgets()는 15자만 읽고 인쇄한다고 가정해 보겠습니다.
씨
글꼴 크기 라텍스
안드로이드에서 사과 이모티콘을 얻는 방법
// C program to illustrate fgets()> #include> #define MAX 15> int> main()> {> > // defining buffer> > char> buf[MAX];> > // using fgets to take input from stdin> > fgets> (buf, MAX, stdin);> > printf> (> 'string is: %s
'> , buf);> > return> 0;> }> |
>
>
fgets()는 사용자로부터 입력을 읽기 때문에 런타임 중에 입력을 제공해야 합니다.
Input: Hello and welcome to techcodeview.com Output: string is: Hello and welc>
가져옵니다()
표준 입력(stdin)에서 문자를 읽고 개행 문자나 파일 끝에 도달할 때까지 이를 C 문자열로 str에 저장합니다.
- 바인딩된 배열을 확인하지 않으므로 사용하는 것이 안전하지 않습니다.
- 개행 문자가 발견되지 않을 때까지 사용자로부터 문자열을 읽는 데 사용됩니다.
통사론
char * gets ( char * str );>
매개변수
- str: 읽은 문자열이 C 문자열로 복사되는 메모리 블록(char 배열)에 대한 포인터입니다.
반환 값
- 이 함수는 입력이 저장된 문자열에 대한 포인터를 반환합니다.
get()의 예
15자의 문자 배열이 있고 입력이 15자보다 크다고 가정하면 gets()는 이러한 문자를 모두 읽고 변수에 저장합니다. gets()는 입력 문자의 최대 제한을 확인하지 않으므로 컴파일러는 언제든지 버퍼 오버플로 오류를 반환할 수 있습니다.
C++
MySQL 카운트
// C program to illustrate> // gets()> #include> #define MAX 15> int> main()> {> > // defining buffer> > char> buf[MAX];> > printf> (> 'Enter a string: '> );> > // using gets to take string from stdin> > gets> (buf);> > printf> (> 'string is: %s
'> , buf);> > return> 0;> }> |
>
스트링 빌더
>
gets()는 사용자로부터 입력을 읽기 때문에 런타임 중에 입력을 제공해야 합니다.
Input : Hello and welcome to techcodeview.com Output : Hello and welcome to techcodeview.com>
결론
fgets() 및 gets() 함수는 모두 표준 입력에서 문자열 입력을 읽는 데 사용할 수 있습니다. fgets() 함수와 gets() 함수의 주요 차이점은 fgets() 함수를 사용하면 사용자가 읽을 최대 문자 수를 지정할 수 있으며 입력 스트림을 fgets()의 모든 파일로 변경할 수도 있다는 것입니다.