如何访问std :: string的每个成员?

时间:2011-02-11 04:59:59

标签: c++ string

如何访问std :: string变量中的每个成员?例如,如果我有

string buff;

假设buff"10 20 A"作为ASCII内容。那么我怎么能分别访问10,20和A?

3 个答案:

答案 0 :(得分:5)

以下是SO的答案:

How do I tokenize a string in C++?

有很多方法可以给那只猫皮肤......

答案 1 :(得分:3)

您可以按索引访问字符串。即duff [0],duff [1]和duff [2]。

我刚试过。这很有效。

string helloWorld[2] = {"HELLO", "WORLD"};
char c = helloWorld[0][0];
cout << c;

输出“H”

答案 2 :(得分:1)

我发现你已经标记了C和C ++。

如果您使用的是C,则字符串是一个字符数组。您可以像访问普通数组一样访问每个字符:

char a = duff[0];
char b = duff[1];
char c = duff[2];

如果您使用的是C ++并使用字符数组,请参阅上文。如果您使用std::string(这就是为什么C和C ++应该单独标记),有很多方法可以访问字符串中的每个字符:

// std::string::iterator if you want the string to be modifiable
for (std::string::const_iterator i = duff.begin(); i != duff.end(); ++i)
{
}

或:

char c = duff.at(i); // where i is the index; the same as duff[i]

可能更多。