diff --git a/8.3/README.md b/8.3/README.md new file mode 100644 index 0000000000000000000000000000000000000000..3a9070feafbce84f27db5182ae9ae283d194b0d2 --- /dev/null +++ b/8.3/README.md @@ -0,0 +1,55 @@ +# printf + +`int printf(const char *format, ...)` +printf 함수는 매개변수를 format에 따라서 출력해주는 함수다. + +`int fprintf(FILE *stream, const char *format, ...)` +printf 함수는 실행될 때 내부에서 fprintf 함수로 바뀌어서 실행된다. + +``` +printf("Hello World") +fprintf(stdout, "Hello World") +``` +printf 함수가 fprintf 함수로 바뀔 때 stream에 stdout이 들어가게 되고 두 함수는 완전히 같은 역할을 한다. + +# stdio.h + +standard input output library의 줄임말로 표준 입출력과 관련된 함수, 매크로 등이 포함된 헤더 파일이다. + +## stream + +* stdin +표준 입력 스트림(키보드)를 참조하는 FILE에 대한 포인터 + +* stdout +표준 출력 스트림(스크린)를 참조하는 FILE에 대한 포인터 + +* stderr +표준 오류 스트림(스크린)를 참조하는 FILE에 대한 포인터 + +# man + +`man <command | function | header file | ...>` +manual의 줄임말로 명령어나 함수, 헤더 파일 등에 대한 사용법을 알려주는 명령어다. + +# redirection + +redirection이란 스트림의 흐름을 바꿔주는 것이다. redirection을 이용해 프로세스의 스트림을 콘솔이 아닌 파일을 사용할 수 있다. + +* \> file +표준 출력을 파일로 redirection한다. 파일이 없으면 새로 만들고, 파일이 있으면 덮어쓴다. +``` +$ ./test > output_data +``` + +* \>> file +표준 출력을 파일로 redirection한다. 파일이 없으면 새로 만들고, 파일이 있으면 파일의 끝에 덧붙인다. +``` +$ ./test >> output_data +``` + +* < file + 파일로부터 표준 입력을 받도록 redirection한다. +``` +$ ./test < intput_data +``` \ No newline at end of file