printf는 C 함수이고 std::string은 C 클래스입니다. 이것이 바로 오류가 발생하는 이유입니다.
이 문제를 해결하려면 std::string의 c_str() 메서드를 사용하여 printf에 전달할 수 있는 C 스타일 문자열을 얻을 수 있습니다. 예를 들면 다음과 같습니다.
#include <iostream> #include <string> #include <stdio.h> int main() { using namespace std; string myString = "Press ENTER to quit program!"; cout << "Come up and C++ me some time." << endl; printf("Follow this command: %s", myString.c_str()); cin.get(); return 0; }
다음과 같이 출력됩니다.
Come up and C++ me some time. Follow this command: Press ENTER to quit program!
c_str()을 사용하지 않으려면 문자열 스트림 클래스를 사용하여 출력 형식을 지정할 수도 있습니다. 예:
#include <iostream> #include <string> #include <sstream> int main() { using namespace std; string myString = "Press ENTER to quit program!"; cout << "Come up and C++ me some time." << endl; ostringstream oss; oss << "Follow this command: " << myString; printf("%s", oss.str().c_str()); cin.get(); return 0; }
이전 예와 동일하게 출력됩니다.
위 내용은 C에서 std::string과 함께 printf를 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!