C ++将字符串的元素分配给新字符串

时间:2011-06-01 03:57:48

标签: c++ string

我试图将一段字符串分配给一个新的字符串变量。现在我很新,所以更容易理解解释对我来说是最好的。无论如何,我试图这样做是这样的:

string test = "384239572";
string u = test[4];

我试图做的完整代码是:

#include <iostream>
#include <string>
#include <sstream>
using namespace std;

int main()
{
string test = "384239572";
string u = test[4];
int i = 0;
istringstream sin(u);
sin >> i;
cout << i << endl;
return 0;
}

虽然似乎在上部抱怨我把它放在那里。那么如何从字符串中获取字符串的一小部分,并将其分配给新字符串?非常感谢提前!如果你知道任何有关这方面的良好链接或任何内容,那也将不胜感激!

3 个答案:

答案 0 :(得分:4)

使用substring,

#include <iostream>
#include <string>
#include <sstream>
using namespace std;

int main()
{
    string test = "384239572";
    string u = test.substr(4,1);
    cout << u << endl;
    return 0;
}

答案 1 :(得分:3)

您可以使用字符串constructors

之一
string u(1,test[4]);

编辑:1表示重复字符测试的次数[4]

在您的代码中,您尝试将char分配给string对象。

答案 2 :(得分:2)

string类有一个方法substr(),在这里很有用:

// Substring consisting of 1 character starting at 0-based index 4
string u = test.substr(4, 1); 

这很好地概括了任何长度的子串。