printf ist eine C-Funktion und std::string ist eine C-Klasse. Aus diesem Grund erhalten Sie die Fehlermeldung.
Um dies zu beheben, können Sie die c_str()-Methode von std::string verwenden, um eine Zeichenfolge im C-Stil zu erhalten, die Sie an printf übergeben können. Zum Beispiel:
#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; }
Dies wird ausgegeben:
Come up and C++ me some time. Follow this command: Press ENTER to quit program!
Wenn Sie c_str() nicht verwenden möchten, können Sie auch die String-Stream-Klasse verwenden, um Ihre Ausgabe zu formatieren. Zum Beispiel:
#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; }
Dies wird dasselbe ausgeben wie im vorherigen Beispiel.
Das obige ist der detaillierte Inhalt vonWie kann ich printf mit einem std::string in C verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!