[열혈C프로그래밍] chapter 18. 문자와 문자열 관련 함수

chapter 18

문자와 문자열 관련 함수

stream(스트림)과 data(데이터)의 이동

데이터의 입출력이란 프로그램의 흐름을 뜻하는데,
프로그램을 중심으로 프로그램 안으로 데이터가 들어오는 것이 입력이고,
프로그램을 중심으로 프로그램 밖으로 데이터가 들어오는 것이 출력이다.

입출력에는 스트림이란 연결고리가 반드시 있어야 한다.
스트림이란 커널에서 제공하는 소프트웨어로 구현된 가상의 다리로,
가령, 프로그램과 모니터를 연결해주는 출력스트림이 있고,
프로그램과 키보드를 연결해주는 입력스트림이 있어서 입출력이 가능한 것이다.
또 스트림은 한 방향으로 흐른다는 것을 명심하자. 그래서 입출력 스트림이 따로 있는 것이다.
(파일을 참조할때도 물론 스트림이 필요하다)

스트림 이름 한글 이름 역할
stdin 표준 입력 스트림 키보드 대상으로 입력
stdout 표준 출력 스트림 모니터 대상으로 입력
stderr 표준 에러 스트림 모니터 대상으로 입력

문자 단위 입출력 함수


* 문자 입력 함수: getchar, fgetc
```c
# include <stdio.h>
int getchar(void);
int fgetc(FILE* stream);

문자열 단위 입출력 함수

표준 입출력과 버퍼

그외 문자열 관련 함수

# include <string.h>
char * strcpy(char * dest, const char* src);
char * strncpy(char * dest, const char* src, size_t n);
// 복사된 문자열의 주소값 반환

변환 함수: atoi, atol, atof

int atoi(const char *str); //문자열의 내용을 int형으로 변환
long atol(const char *str); //문자열의 내용을 long으로 변환
double atof(const char *str); //문자열의 내용을 double으로 변환