표준출력함수
표준출력함수 | 사용법 | 의미 |
putchar | putchar(65);, putchar('a'); | 단일문자 출력함수이다. |
putc | putc('a', stdout); | 이것도 단일문자 출력함수이다. putchar을 이걸로만들었다. |
puts | puts("Hello World!"); | 자동으로 \n이 들어가있다. 문자열이 출력된다. |
printf | printf("Hello World!"); | 이때까지 봤다싶이 문자열 출력함수인데 서식문자를 쓸수있다. |
※여기서 putchar(65)는 출력값이 A가나온다. 이유↓
C언어에는 아스키코드라는게 존재하는데 문자마다 아스키코드값이 있는데 A의아스키코드값이 65입니다.
Tip:stdout은 표준출력을 의미합니다.
예제↓
1 2 3 4 5 6 7 8 | #include<stdio.h> int main(void){ putchar(65); putc('A', stdout); printf("\n"); puts("Hello World!"); return 0; } | cs |
결과는
AA
Hello World!
이렇게 나오게됩니다.
표준입력함수
표준입력함수 | 사용법 | 의미 |
getchar | getchar(); | 문자하나를 입력받는다. |
getc | getc(stdin); | 위와 같지만 getchar을 이걸로 만들었다. |
getch | getch(); | 위와 같다. |
scanf | scanf("%서식문자", &변수); | 서식문자에따라 정수형 실수형 문자까지 입력받을수있다. |
※scanf에 &은 변수의 주소를 의미한다. 변수의주소에 받은걸 넣는다고 보면됩니다.
Tip: scanf는 문자하고 엔터까지 쳐야끝나지만 다른함수들은 문자만치면 입력이끝난다.
소스코드↓
1 2 3 4 5 6 7 8 9 | #include<stdio.h> int main(void){ int i = 0; i = getchar(); i = getc(stdin); i = getch(); scanf("%c", &i); return 0; } | cs |
결과는
i에 사용자가 입력한값이 들어갑니다.
기타처리
상황:단일문자를 입력받는데 사람이 잘못하고 a를써야하는데 ab를 쓰면?
b가 저장되어 버립니다.
a |
b |
이러면 a가대입되는데 버퍼라는곳에 b가남아서 b를 써야합니다. 그래서 썼는데 i값이 b가되어버립니다.
버퍼를 비울때
함수 | 사용법 | 의미 |
rewind | rewind(stdin) | 표준입출력의 버퍼를비운다. |
소스코드↓
1 2 3 4 5 6 7 | #include<stdio.h> int main(void){ int i = 0; i = getchar(); rewind(stdin); return 0; } | cs |
문자만 입력해야하는데 Enter까지 썼을때
getchar을 사용
소스코드↓
1 2 3 4 5 6 7 | #include<stdio.h> int main(void){ int i = 0; i = getchar(); // i getchar(); //엔터값을 받음 return 0; } | cs |
여기까지 블로그 포스팅을 마치도록 하겠습니다.
입출력관련 -끝-