0

char*文字列の最初の文字で作られたものを作成しようとしています。文字列のベクトル内に保持される文字列。

私は次のことを試しました:

char* value = &cards[0][0]; cout<<"Value "<<i<<" == "<<value<<endl;

char* value = &cards[0].front(); cout<<"Value "<<i<<" == "<<value<<endl;

('cards' は文字列のベクトルで、各文字列は通常の 52 枚のカード デッキのカードです)

しかし、私が何をしても、は常に文字列全体に等しくなります。

を 1 文字にするにはどうすればよいですか?

4

1 に答える 1

6

慣例により、achar*は null で終わる文字列リテラルとして解釈されます。そのため、 を指すcout文字から文字列の末尾までのすべてを出力します。value

単一の文字だけが必要な場合は、char代わりにchar*次を使用できます。

char value = cards[0][0];
cout << "Value " << i << " == " << value << endl;
于 2013-02-22T23:26:17.997 に答える