..

Search

38) 문자열 입출력 함수

38) 문자열 입출력 함수

문자열 입출력 함수


문자열 입력 함수

C언어에서 문자열을 입력할 때에는 fgets() 함수를 사용합니다.


fgets() 함수

fgets() 함수는 키보드뿐만 아니라 파일에서도 문자열을 입력받을 수 있는 함수입니다.

 

fgets() 함수의 원형은 다음과 같습니다.

원형

#include <stdio.h>

char *fgets(char * restrict s, int n, FILE * restrict stream);  

 

fgets() 함수의 첫 번째 인수는 입력받는 문자열을 저장하기 위해 선언한 배열의 시작 주소를 전달합니다.

두 번째 인수로는 입력받을 수 있는 문자열의 최대 길이를 전달하고, 마지막 인수로는 문자열을 입력받을 스트림을 전달합니다.


문자열 출력 함수

C언어에서 문자열을 입력할 때에는 puts()함수나 fputs() 함수를 사용합니다.


puts() 함수

puts() 함수는 표준 출력 스트림(stdout)인 모니터에 하나의 문자열을 출력하는 함수입니다.

이 함수는 모니터에 문자열을 출력한 다음에 자동으로 줄을 바꿔줍니다.

 

puts() 함수의 원형은 다음과 같습니다.

원형

#include <stdio.h>

int puts(const char *s);  

 

puts() 함수는 인수로 출력할 문자열을 가리키는 포인터를 전달합니다.


fputs() 함수

fputs() 함수는 모니터뿐만 아니라 파일을 통해서도 문자를 출력(저장)할 수 있는 함수입니다.

이 함수는 puts() 함수와는 달리 문자열을 출력한 다음에 자동으로 줄을 바꿔주지 않습니다.

 

fputs() 함수의 원형은 다음과 같습니다.

원형

#include <stdio.h>

int fputs(const char * restrict s, FILE * restrict stream);

 

fputs() 함수의 첫 번째 인수는 출력할 문자열을 가리키는 포인터를 전달합니다.

두 번째 인수로는 문자열을 출력할 스트림을 전달합니다.

 

다음 예제는 문자열 입출력 함수를 사용하여, 사용자가 입력한 문자열을 그대로 출력하는 예제입니다.

예제

#include <stdio.h>

int main(void)

{

    char str[100];

 

    fputs("문자열을 입력해 주세요 :\n", stdout);

    fgets(str, sizeof(str), stdin);

    puts("입력하신 문자열 : ");

    puts(str);

    fputs("입력하신 문자열 : ", stdout);

    fputs(str, stdout);

    return 0;

}

 

실행 결과

문자열을 입력해 주세요 : 

C언어 문자열 입출력

입력하신 문자열 : 

C언어 문자열 입출력

 

입력하신 문자열 : C언어 문자열 입출력

 

위의 예제에서 puts() 함수는 문자열을 출력한 후에 자동으로 줄 바꿈을 해줍니다.

하지만 fputs() 함수는 문자열을 출력한 후에 줄 바꿈을 하지 않습니다.


연습문제