私はC++を初めて使用します。 char*
を作りたいのですが、方法がわかりません。
In Javaこれだけですか:
int player = 0;
int cpu = 0;
String s = "You: " + player + " CPU: " + cpu;
これどうやってするの? char*
が必要です。
文字列の後に整数を貼り付けることに重点を置いています。
あなたがそれを助けることができればあなたはほぼ間違いなくchar *を扱いたくないでしょう-あなたはC++ std :: stringクラスが必要です:
#include <string>
..
string name = "fred";
または関連するstringstreamクラス:
#include <sstream>
#include <string>
#include <iostream>
using namespace std;
int main() {
int player = 0;
int cpu = 0;
ostringstream os;
os << "You: " << player << " CPU: " << cpu;
string s = os.str();
cout << s << endl;
}
文字ポインタが本当に必要な場合(そして、なぜそう思うのかまだ述べていない場合)、c_str()メンバー関数を使用して文字列から文字ポインタを取得できます。
これはすべて、C++の入門教科書でカバーする必要があります。まだ購入していない場合は、 Accelerated C++ を取得してください。インターネットリソースだけからC++を学ぶことはできません。
C++を使用している場合は、std::string
を使用してください。 char*
を使用している場合は、Cを直接使用することをお勧めします。 Cの場合、sprintf
関数を使用できます。
char* s = // initialized properly
sprintf( s, "You: %d CPU: %d", player, cpu );
s.c_str( );
. Here を呼び出すだけで、詳細を確認できます。
PS。 strcpy
を使用してコンテンツを新しい変数にコピーすると、コンテンツを変更できます。
char *
は「文字へのポインタ」を意味します。
次のように「文字列」へのポインタを作成できます。
char* myString = "My long string";
または、std :: string:を使用することもできます。
std::string myStdString("Another long string");
const char* myStdString.c_str();
最後の例の最初にあるconstに注意してください。これは、ポイントされている文字を変更できないことを意味します。最初の例でも同じことができます。
const char* = "My long string";
Stringstreamの使用を検討してください。
#include <iostream>
#include <sstream>
using namespace std;
int main ()
{
int i = 10;
stringstream t;
t << "test " << i;
cout << t.str();
}
あなたが示すように、C++が「+」演算子をオーバーロードしていたならおそらく最高だったでしょう。悲しいことに、彼らはそうしませんでした(あなたが望むなら、あなたはそうすることができます)。
C++で整数変数を文字列に変換するには、基本的に3つの方法があります。 2つはCから継承され、1つはC++用に新しいものです。