-2

私は現在、文字列の個々の部分にアクセスする必要があることに取り組んでいます。文字列構文で奇妙なバグが発生しているようです。

これが私の問題です:

あなたが文字列を持っていると言う

string str = "hello";

str[0], を使用して、その文字列内の個々の文字にアクセスできますstr[1]。例:

cout << str[0];

プリント:'h'

ただし、次の構文を使用すると、何も出力されません。

int i = 0;

cout << str[i];

使用する変数のタイプに関係なく、同じ結果が得られます。誰でも助けることができますか?

4

1 に答える 1

-2

String は C++ オブジェクトであり、C のように文字配列として格納されないため、その個々の部分にアクセスすることはできません。その部分にアクセスするには、C 文字配列に変換する必要があります。
これを試して:

cout <<str.c_str()[i];
于 2012-09-26T23:52:42.263 に答える