본문 바로가기
프로그래밍/C++

C++ puts() vs printf() 차이점에 대해서 알아보자

by bantomak 2024. 7. 25.
반응형

puts()

C++에서 문자열을 출력할 때 puts()와 printf()의 차이점을 명확하게 알지 못하고 사용하고 있었다.

이번 기회에 둘의 차이점에 대해서 명확하게 알아보고 가자.

 

int _tmain(int argc, _TCHAR* argv[])
{
	puts("1234");
	puts("1234");
	puts("1234");
	puts("1234");

	return 0;
}

 

puts()를 사용하면 별도의 개행 입력 없이도 자동으로 개행시켜 준다.

printf()

이에 반해서 printf()는 자동으로 개행시켜 주지 않는다.

 

int _tmain(int argc, _TCHAR* argv[])
{
	printf("1234");
	printf("1234");
	printf("1234");
	printf("1234");

	return 0;
}

 

int _tmain(int argc, _TCHAR* argv[])
{
	printf("1234\n");
	printf("1234\n");
	printf("1234\n");
	printf("1234\n");

	return 0;
}

 

int _tmain(int argc, _TCHAR* argv[])
{
	puts("%d", 1234); // 호출인수 에러
	printf("%d\n", 1234);
	printf("%d\n", 1234);
	printf("%d\n", 1234);
	printf("%d\n", 1234);

	return 0;
}

정리하자면

  • puts() 자동 개행
  • printf() 자동 개행 아님
  • puts()는 문자열만 출력 가능
  • printf()는 formatting 사용 가능

댓글