Tuesday, June 13, 2006
C언어] printf() / puts() / cprintf() 함수의 차이점
printf()
stdio.h 에 정의된 "표준 출력" 함수입니다. 숫자/문자열을, 지정한 복잡다단한 형식으로 출력합니다. 텍스트 모드의 화면에 뭔가를 출력할 때에는 printf() 함수가 가장 무난하고 많이 쓰입니다. 문자열의 끝에서 자동으로 행갈이가 되지 않습니다. 따라서 "\n"을 붙여서 직접 행갈이해 주어야 합니다. 그렇지 않으면 printf() 함수들로 여러 줄의 문자열을 출력할 때, 그 문자열들이 한 줄로 붙어서 나오게 됩니다.
예제("하하하하"라는 문자열 뒤에, 30를 16진수로 변환한 숫자 1E 를 덧붙여 출력):
printf("하하하하 %X\n", 30);
puts()
stdio.h 에 정의된 "표준 출력" 함수입니다. printf() 과 같지만, 포맷(형식)으로 출력할 수 없고, 그냥 단순히 문자열을 나타내는 것입니다. printf()보다 단순한 함수이기 때문에 (이론적으로) 속도가 빠릅니다. printf()의 간단한 버전이라고 보면 됩니다. 자동으로 행갈이가 됩니다. 간단한 문자열을 표현할 때 좋습니다.
예제(자동으로 커서가 다음줄로 넘어감):
puts("하하하하");
cprintf()
conio.h 에 정의된 "콘솔 출력" 함수입니다. 표준 출력으로 출력하는 것이 아니라 그냥 "화면"으로 즉 비디오 메모리로 출력합니다. 따라서 출력 결과가 재지향이 되지 않습니다. 볼랜드C에서는 textcolor() 함수와 함께 쓰여, 텍스트의 색을 변경하는 용도로 cprintf()를 사용했는데, 비주얼C에서는 쓸 일이 없었습니다. 비주얼C에서는 표준 출력 함수로도 색이 변경되더군요.
사용법은 printf() 와 거의 같습니다.
stdio.h 에 정의된 "표준 출력" 함수입니다. 숫자/문자열을, 지정한 복잡다단한 형식으로 출력합니다. 텍스트 모드의 화면에 뭔가를 출력할 때에는 printf() 함수가 가장 무난하고 많이 쓰입니다. 문자열의 끝에서 자동으로 행갈이가 되지 않습니다. 따라서 "\n"을 붙여서 직접 행갈이해 주어야 합니다. 그렇지 않으면 printf() 함수들로 여러 줄의 문자열을 출력할 때, 그 문자열들이 한 줄로 붙어서 나오게 됩니다.
예제("하하하하"라는 문자열 뒤에, 30를 16진수로 변환한 숫자 1E 를 덧붙여 출력):
printf("하하하하 %X\n", 30);
puts()
stdio.h 에 정의된 "표준 출력" 함수입니다. printf() 과 같지만, 포맷(형식)으로 출력할 수 없고, 그냥 단순히 문자열을 나타내는 것입니다. printf()보다 단순한 함수이기 때문에 (이론적으로) 속도가 빠릅니다. printf()의 간단한 버전이라고 보면 됩니다. 자동으로 행갈이가 됩니다. 간단한 문자열을 표현할 때 좋습니다.
예제(자동으로 커서가 다음줄로 넘어감):
puts("하하하하");
cprintf()
conio.h 에 정의된 "콘솔 출력" 함수입니다. 표준 출력으로 출력하는 것이 아니라 그냥 "화면"으로 즉 비디오 메모리로 출력합니다. 따라서 출력 결과가 재지향이 되지 않습니다. 볼랜드C에서는 textcolor() 함수와 함께 쓰여, 텍스트의 색을 변경하는 용도로 cprintf()를 사용했는데, 비주얼C에서는 쓸 일이 없었습니다. 비주얼C에서는 표준 출력 함수로도 색이 변경되더군요.
사용법은 printf() 와 거의 같습니다.
tag: cpp
C언어 | C/C++ (Visual C++)
<< Home