ホームページ > バックエンド開発 > C++ > C で std::string で printf を使用するにはどうすればよいですか?

C で std::string で printf を使用するにはどうすればよいですか?

DDD
リリース: 2024-12-16 01:06:10
オリジナル
1000 人が閲覧しました

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

printf with std::string

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート