본문 바로가기
  • 공부, 여행 리뷰해요~~!!
공부/C++

C++, printf 이용하여 string 출력

by 하나리나 2022. 12. 8.
반응형
반응형

*개인공부를 위한 기록입니다. 잘못된 점에 대한 지적 감사드립니다.

 

1. 오류

C++에서 printf를 이용하여 string을 출력하려고 다음과 같이 예제를 작성하였습니다.

std::string fp;

printf("File name: %s\n",fp);

그리고, 오류는 다음과 같이 발생하였습니다.

In member function '_(function_name)_':

warning: format '%s' expects argument of type 'char*' , but argument 2 has type 'std::string' {aka 'std::__cxx11::basic_string<char>'} [-\format=] 

... (중략)

 

2. 해결

printf는 c-style의 문자열만 지원하므로, 본 예제에서는 fp를 c-style로 변경해주면 간단히 해결할 수 있습니다.

std::string fp;

printf("File name: %s\n",fp.c_str());

즉, 원하는 string 변수 뒤에 .c_str()을 추가해주면 끝입니다.

반응형