/* 문자 입출력함수 */
ch1=getchar(); //문자 입력함수 영어2개 단어 한글은 한글자
ch2=fgetc(stdin); //엔터키 입력받음
putchar(ch1); //ch1에 저장된 문자 출력
fputc(ch2, stdout);//ch2에 저장된 엔터 출력
/* 문자열 입출력함수(1) */
#include <stdio.h>
int main()
{
char *str = "Simple String";
printf("1. puts test --------- \n");
puts(str);
puts("So Simple Sting");
printf("2. fputs test -------- \n");
fputs(str, stdout);
printf("\n");
fputs("So Simple Sting", stdout);
printf("\n");
printf("3. end of main ------- \n");
return 0;
}
문자열 입력함수에는 gets와 fgets가 있다 gets와 fgets의 동작은 동일하지만 차이점이있다.
그것은 선언해준 배열의 길이를 초과하면 gets는 할당받지 않은 메모리를 침범해 에러가 생긴다.
하지만 fgets는 정해진 배열의 길이한도 내에서 입력된 문자열을 짤라낸다.
예를들어 배열이 7개로 정해진 함수에 입력을 8개의 숫자를 받는다면
8개의 숫자중에 6개의 숫자와 + \0 널문자 = 7개 배열에 저장한다.
(파일의 끝에 도달하거나 함수호출 실패시 Null 포인터 반환)