C++ 如何访问std::string的每个成员?
如何访问std::string变量中的每个成员?例如,如果我有C++ 如何访问std::string的每个成员?,c++,string,C++,String,如何访问std::string变量中的每个成员?例如,如果我有 string buff; 假设buffconatains“10 20 A”作为ASCII内容。然后如何分别访问10、20和A?您可以通过索引访问字符串。i、 e达夫[0],达夫[1]和达夫[2] 我刚试过。这很有效 string helloWorld[2] = {"HELLO", "WORLD"}; char c = helloWorld[0][0]; cout << c; string helloWorld[2]=
string buff;
假设
buff
conatains“10 20 A”
作为ASCII内容。然后如何分别访问10、20和A?您可以通过索引访问字符串。i、 e达夫[0],达夫[1]和达夫[2]
我刚试过。这很有效
string helloWorld[2] = {"HELLO", "WORLD"};
char c = helloWorld[0][0];
cout << c;
string helloWorld[2]={“HELLO”,“WORLD”};
char c=helloWorld[0][0];
cout这里有一个答案供您参考:
有很多方法可以让猫皮肤… < p>我看到你已经标记了C和C++。
如果您使用的是C,字符串是一个字符数组。您可以像访问普通数组一样访问每个字符:
char a = duff[0];
char b = duff[1];
char c = duff[2];
如果您使用C++,使用字符数组,请参阅上面的内容。如果使用的是(这就是为什么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)
{
}
或:
charc=duff.at(i);//其中i是索引;与达夫[i]相同
可能更多。那么“10”在其字符串表示中不是一个字符,而是两个字符。你是在问怎么分开一根绳子吗?嗯,⒑ 是U+2491,但不是ASCII;)@Eds n@Msalterd,是的,我知道10是int,但我把int放进了string中,我没有说10是int,我说字符串“10”由两个字符组成。您询问如何访问std::string变量中的每个成员,我假设您正在询问如何逐个字符访问字符串。然后你继续说“10”应该被视为一个单独的“元素”,所以问题没有多大意义。实际上我有字符串向量,这就是为什么我不能像str[vactor_index][0]@bala那样访问。试着使用.at(index)
成员函数。你是指字符串数组吗?我很肯定它能用。让我先自己试试。@Marlon-我认为这并不能回答OP的问题。这将返回单个字符,而不是由这些字符组成的整数文本。