printf와 scanf를 제외한 입 출력 함수들입니다.
-
ystem("cls");
Clear Screen의 약자이며 이름 그대로 화면을 깔끔하게 지우고 커서를 화면 좌상단으로 옮긴다.
화면에 이미 출력된 내용을 지우고 새로운 내용을 출력하고자 할 때 이 명령을 사용한다.
콘솔 화면은 일반적으로 가로로 80개의 문자를 표시할 수 있고 세로로 25줄을 출력할 수 있다.
윈도우즈의 콘솔은 설정하기에 따라 더 넓은 폭을 가질 수도 있고 스크롤도 가능하지만 여기서는 도스나 유닉스의 콘솔과 비슷하다고 생각하기로 하자.
콘솔은 80*25의 바둑판같은 좌표 공간이라고 할 수 있는데 각 위치는 x축과 y축의 좌표값을 가진다.
gotoxy 함수는 커서의 위치, 그러니까 다음 문자열이 출력될 좌표값을 바꾼다.
인수로 옮기고자 하는 x, y 좌표를 지정하면 커서가 이동하며 이어지는 출력은 이 위치로 나가게 된다.
현재 위치가 아닌 특정 위치에 출력하고 싶다면 출력 명령을 사용하기 전에 gotoxy로 원하는 좌표값을 지정한다.
다음 예제는 화면을 깨끗하게 지운 후 중앙에 문자열을 출력한다.
-
#include <Windows.h>
-
#include <stdio.h>
-
-
void gotoxy(int x,int y)
-
-
{
-
COORD pos={x,y};
-
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
-
}
-
-
void main()
-
{
-
system("cls");
-
gotoxy(37,12);
-
}
puts 함수는 문자열만 출력할 때 사용한다.
printf로도 문자열을 출력할 수 있지만 puts는 서식을 다루지 않기 때문에 훨씬 더 간편하며 속도도 빠르다는 장점이 있다.
화면에 "korea"라는 문자열을 출력하고 싶다면 puts("korea")를 호출하면 된다.
puts는 문자열을 출력한 후 항상 개행을 하므로 \n을 일부러 붙이지 않아도 된다.
gets 함수는 문자열을 입력받아 인수로 주어진 변수에 저장하는데 gets(str)은 scanf("%s",str)과 유사하다.
그러나 scanf는 문자열을 공백에서 끊어 버리기 때문에 긴 문자열을 입력받을 수 없는데 비해 gets는 개행 코드 이전의 모든 문자를 입력받는다는 점이 다르다.
'DEVELOPMENT > C/C++' 카테고리의 다른 글
[C/C++] 포인터 예제 소스 및 설명 (0) | 2015.02.02 |
---|---|
[C/C++] for문을 이용하여 혼자 이동하는 문자만들기 (0) | 2015.01.30 |
[C/C++] 윤년과 평년 구하는 프로그램 (0) | 2015.01.29 |
[C/C++] 입력문 (scanf) (0) | 2015.01.29 |
[C/C++] 출력 서식 종류와 의미, 설명, 예제 (0) | 2015.01.29 |