반응형
안녕하세요 펭귄 교수입니다.
요즘 파이썬, 자바스크립트를 자주 사용하다가 C++를 사용할 일이 있었습니다.
이전이라면 큰 문제가 없었던 문제 였는데, 문법적으로 공부한 지가 오래되어 만난 문제에 대해 이야기 해보려 합니다.
문제
사용하는 한 메서드는 string 자료형을 반환하는 데 printf() 에 사용되는 %s 형식은 char* 형식만을 받습니다.
std::string text = "Hello World";
printf("Text is %s\n", text);
// 위와 같이 사용시 에러
// %s 는 char* 형식을 받지만, text는 string 형식
해결
해결방법은 생각보다 간단합니다.
string 클래스에 있는 c_str() 메서드를 사용하면 해당 문자열을 char* 형식으로 반환해줍니다.
std::string text = "Hello World";
printf("Text is %s\n", text.c_str());
마무리
어찌보면 정말 간단한 건데 헤맬 수도 있는 문제입니다.
문법 공부도 소홀히 하면 안되겠다는 생각이 들었습니다.
728x90
반응형