[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내용 >
- fputs함수는 puts함수처럼 개행문자를 넣어주지는 않습니다.
4️⃣ 특징 & 주의사항
puts함수
는 자동으로 마지막에’\n’문자도 넣어 줍니다.fputc
의 스트림으로stdout
스트림을 넣으면putchar
함수와 같이 동작합니다.fputs
의 스트림으로stdout
스트림을 넣으면puts
함수와 같이 동작하지만 개행문자'\n'
을 넣어주지 않습니다.- int형정수를 출력하는데 한계가 있기 때문에
printf
를 더 많이 씁니다. - 하지만
putchar
함수는 문자한개를 출력할 때는 유용한 함수입니다. - 음수가 반환 될 수 있기때문에 반환형으로
int
자료형을 사용합니다.