Heim >Backend-Entwicklung >C++ >Wie kann ich printf mit einem std::string in C verwenden?

Wie kann ich printf mit einem std::string in C verwenden?

DDD
DDDOriginal
2024-12-16 01:06:101102Durchsuche

How Can I Use printf with a std::string in C  ?

printf mit std::string

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn