티스토리 뷰

목차


    반응형

    문자열 출력 함수의 원형
    int puts(const char* s);
    int fputs(conts char* s, FILE* stream);

    puts, fputs 모두 하나의 문자열를 출력할 때 일반적으로 사용하는 함수이다.
    차이점은 puts은 모니터로 출력하지만, fputs는 출력 스트림을 지정할 수 있다는 것.
    즉, file로 출력 할 수도 있고, 모니터로 출력할 수도 있다.
    추가로 puts는 자동으로 줄을 바꿔준다. 


    줄바꿈을 보여주기 위한 간단한 예제
    #include <stdio.h>
    void main()
    {
    fputs("fputs 함수의 의한 출력, ", stdout);
    fputs("I LOVE YOU ", stdout);

    fputs("\n", stdout);

    puts("puts 함수에 의한 출력, ");
    puts("I LOVE YOU");
    }
    해보면 알겠지만, fputs는 줄이 넘어가지 않고 옆으로 계속 이어지고
    puts는 한번 끝나면 자동으로 다음줄로 넘어간다.




    문자열 입력 함수의 원형.
    int gets(char* s);
    int fgets(char* s, int n, FILE* stream);

    gets, fgets 모두 문자열을 입력할 때 일반적으로 사용하는 함수이다.
    때문에 입력받을 문자열을 저장하기 위한 배열을 선언한 다음 시작 주소를 넘겨주어 사용.
    차이점은 puts은 키보드로 입력 하지만, fputs는 입력 스트림을 지정할 수 있다는 것.
    즉, file로 부터 입력 받을 수도 있고, 키보드로 입력 받을 수도 있다.
    추가로 fgets는 입력받을 문자열의 최대길이를 정할 수 있다.
    puts는 그렇지 못하기 때문에 지정된 크기 보다 많은 입력이 들어와 오버플로우를 발생하기도 한다.
    때문에 실제로 프로그래밍을 하는 경우 fgets만을 사용한다고 한다. 

    간단한 사용 예제
    #include <stdio.h>
    void main()
    {
    char str[10];                                           //입력 받아 저장할 배열이 필요.
    fputs("문자열을 입력 하세요 : ", stdout);
    fgets(str, sizeof(str), stdin);                     //sizeof(str)을 통해 최대 입력 길이 지정.

    fputs("입력된 문자열 ", stdout);
    fputs(str, stdout);
    }


    유익한 정보가 되셨다면 아래의 추천도 부탁드려요 ^-^


     
    반응형