[C]puts,fputs & putchar,fputc


  • puts함수는 문자열 출력함수입니다.
  • fputs함수는 스트림에 문자열을 쓰는 함수입니다.
  • putchar함수는 문자 출력함수입니다.
  • fputc함수는 스트림에 문자를 쓰는 함수입니다.

1️⃣ 함수원형

< puts >

int puts(const char* str);

< fputs >

int fputs(const char* str, FILE* stream);

< putchar >

int putchar(int character);

< fputc >

int fputc(int character, FILE* stream);

2️⃣ 헤더파일, 반환값

  • 헤더파일: <stdio.h>
  • 반환값:

     성공실패
    puts음이아닌값EOF(-1)
    fputs음이아닌값EOF(-1)
    putchar출력된문자EOF(-1)
    fputc쓰인문자EOF(-1)

3️⃣ 함수사용

(1) puts, putchar

int main(void)
{
	char string[] = "hello";
    char word = "c";

    puts(string);
    putchar(word);
    putchar(word);
}
/*---출력---*/
hello     //puts함수는 개행문자 자동포함 
cc        //putchar함수는 개행문자포함x

(2) fputs, fputc

int main(void)
{
	FILE *stream;

	stream = fopen("test.txt", "w");
	char string[] = "hello";
    char word = 'c';

    fputs(string, stream);
	fputc(word, stream);

	fclose(stream);
}
< test.txt내용 >
helloc
  • fputs함수는 puts함수처럼 개행문자를 넣어주지는 않습니다.

4️⃣ 특징 & 주의사항

  1. puts함수는 자동으로 마지막에’\n’문자도 넣어 줍니다.
  2. fputc의 스트림으로 stdout스트림을 넣으면 putchar함수와 같이 동작합니다.
  3. fputs의 스트림으로 stdout스트림을 넣으면 puts함수와 같이 동작하지만 개행문자'\n'을 넣어주지 않습니다.
  4. int형정수를 출력하는데 한계가 있기 때문에 printf를 더 많이 씁니다.
  5. 하지만 putchar함수는 문자한개를 출력할 때는 유용한 함수입니다.
  6. 음수가 반환 될 수 있기때문에 반환형으로 int자료형을 사용합니다.




© 2021.02. by kirim

Powered by kkrim