问题描述
|
我试图将一个字符串分配给一个新的字符串变量。现在我很新,所以时间更长,但是更容易理解的解释对我来说是最好的。无论如何,我如何尝试这样做是这样的:
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);
这很好地概括了任意长度的子字符串。