web-dev-qa-db-ja.com

C ++で文字列を印刷する方法

私はこれを試しましたが、うまくいきませんでした。

#include <string>
string someString("This is a string.");
printf("%s\n", someString);
57
node ninja
#include <iostream>
std::cout << someString << "\n";

または

printf("%s\n",someString.c_str());
104
GWW

基礎となるバッファにアクセスする必要があります。

printf("%s\n", someString.c_str());

または、cout << someString << endl;を使用することをお勧めします(coutを使用するには、#include <iostream>が必要です)

さらに、using namespace std;を使用してstd名前空間をインポートするか、stringcoutの両方の前にstd::を付加することもできます。

21
ThiefMaster

stringおよびcinを使用するには、coutおよび#include<string>を使用する#include<iostream>が必要です。 (答えを読んだとき、私はそれを得ませんでした)。動作するコードを次に示します。

#include<string>
#include<iostream>
using namespace std;

int main()
{
    string name;
    cin >> name;
    string message("hi");
    cout << name << message;
    return 0;
}
9
hexicle

パラメーターにstd :: stringを指定して "printf"を呼び出すことはできません。 「%s」は、Cスタイルの文字列char *またはchar []用に設計されています。 C++では、次のようにできます。

#include <iostream>
std::cout << YourString << std::endl;

absolutely printfを使用する場合は、文字列のchar *表現を提供する「c_str()」メソッドを使用できます。

printf("%s\n",YourString.c_str())
6
elmout

printf()を使用する場合は、次のこともできます。

#include <stdio.h>
3
Perry Horwich