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

问题描述

| 我试图将一个字符串分配给一个新的字符串变量。现在我很新,所以时间更长,但是更容易理解的解释对我来说是最好的。无论如何,我如何尝试这样做是这样的:
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;
}
尽管似乎抱怨我放在上面。那么,如何从字符串中提取一小部分字符串,并将其分配给新字符串呢?在此先多谢!如果您知道任何良好的链接或与此相关的任何信息,也将不胜感激!     

解决方法

        您可以使用字符串构造器之一
string u(1,test[4]);
编辑:1表示重复字符测试的次数[4] 在您的代码中,您尝试将
char
分配给
string
对象。     ,        使用子串,
#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;
}
    ,        
string
类具有方法
substr()
,在这里将非常有用:
// Substring consisting of 1 character starting at 0-based index 4
string u = test.substr(4,1); 
这很好地概括了任意长度的子字符串。