본문으로 바로가기

   

 

printf와 scanf함수를 이용해도 문자열의 입출력이 충분히 가능합니다.
하지만, scanf함수는 공백이 포함된 형태의 문자열을 입력 받는데 제한이 있습니다.
문자열 입력 함수는 이러한 제한이 없습니다.

문자열 출력 함수 : puts, fputs
모니터로 하나의 문자열을 출력할 때 일반적으로 사용하는 두 함수

#include <stdio.h>
int puts(const char * s);
int fputs(const char * s, FILE * stream);
// 성공 시 음수가 아닌 값을, 실패 시 EOF 반환

 

puts함수는 출력의 대상이 stdout으로 결정되어 있지만, 
fputs 함수는 두 번째 인자를 통해서 출력의 대상을 결정할 수 있습니다.

#include <stdio.h>

void main()
{
	char  str[] = { 's','i','p','l','l','e' };
	char * ptr = str;

	printf("1. puts test ------\n");
	puts(str);
	puts("So simple String");

	printf("2. puts test -----\n");
	fputs(str, stdout); printf("\n");
	fputs("So Simple String", stdout); printf("\n");

	printf("3. end of main -----\n");
}

 

puts 함수가 호출되면 문자열 출력 후 자동으로 개행이 이뤄지지만, fputs함수가 호출되면 문자열 출력 후 자동으로 개행되지 않습니다.