문자열 출력 함수의 원형
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는 한번 끝나면 자동으로 다음줄로 넘어간다.
문자열 입력 함수의 원형.해보면 알겠지만, 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);
}
유익한 정보가 되셨다면 아래의 추천도 부탁드려요 ^-^
'프로그래밍 > C언어.' 카테고리의 다른 글
문자열 비교 함수 (strcmp, strncmp) (0) | 2011.03.28 |
---|---|
[C언어] 문자열 길이 반환 함수 (strlen) 간단예제. (0) | 2011.03.28 |
문자 입.출력 함수(putchar, fputc, getchar, fgetc) (0) | 2011.03.28 |
C언어 정리. 간략하게 (0) | 2011.03.25 |
파일 중간에 텍스트 삽입하기 예제 및 설명 (0) | 2011.03.20 |