Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何访问std::string的每个成员?_C++_String - Fatal编程技术网

C++ 如何访问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]=

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

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的问题。这将返回单个字符,而不是由这些字符组成的整数文本。