Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C에서 fgets() 및 gets()

<시간/>

fgets()

fgets() 함수는 줄 바꿈 문자까지 문자열을 읽는 데 사용됩니다. 배열 바운드를 확인하고 안전합니다.

다음은 C 언어의 fgets() 구문입니다.

char *fgets(char *string, int value, FILE *stream)

여기,

문자열 - 이것은 char 배열에 대한 포인터입니다.

가치 − 읽을 문자의 수입니다.

스트림 − 이것은 파일 개체에 대한 포인터입니다.

다음은 C 언어로 된 fgets()의 예입니다.

#include <stdio.h>
#define FUNC 8
int main() {
   char b[FUNC];
   fgets(b, FUNC, stdin);
   printf("The string is: %s\n", b);
   return 0;
}

출력

입력 문자열은 "Hello World!"입니다. 표준 스트림에서.

The string is: Hello W

위의 프로그램에서는 char형의 배열이 선언되어 있습니다. fgets() 함수는 STDIN 스트림에서 주어진 숫자까지 문자를 읽습니다.

char b[FUNC];
fgets(b, FUNC, stdin);

get()

gets() 함수는 표준 입력 장치에서 문자열을 읽는 데 사용됩니다. 배열 바운드를 확인하지 않으며 역시 안전하지 않습니다.

다음은 C 언어의 gets() 구문입니다.

char *gets(char *string);

여기,

문자열 - 이것은 char 배열에 대한 포인터입니다.

다음은 C 언어의 gets() 예제입니다.

#include <stdio.h>
#include <string.h>
int main() {
   char s[100];
   int i;
   printf("\nEnter a string : ");
   gets(s);
   for (i = 0; s[i]!='\0'; i++) {
      if(s[i] >= 'a' && s[i] <= 'z') {
         s[i] = s[i] - 32;
      }
   }
   printf("\nString in Upper Case = %s", s);
   return 0;
}

출력

Enter a string : hello world!
String in Upper Case = HELLO WORLD!

위의 프로그램에서 char 배열의 문자열 s는 대문자 문자열로 변환됩니다. gets() 함수는 stdin 스트림에서 문자열을 읽는 데 사용됩니다.

char s[100];
int i;
printf("\nEnter a string : ");
gets(s);