C++将一个字符串的元素分配给一个新的字符串
问题描述:
我试图将一个字符串分配给一个新的字符串变量。现在我很新很长,但更容易理解的解释对我来说是最好的。不管怎么说,怎么我试着去做到这一点是这样的: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
类有一个方法substr()
应该在此有用:
// Substring consisting of 1 character starting at 0-based index 4
string u = test.substr(4, 1);
这很好地推广到任何长度的子串。
答
使用字符串,
#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虽然做?你也可以向我解释为什么我的方法不起作用?这样我可以对未来的参考有最大的理解? :D – samuraiseoul 2011-06-01 04:01:40
它在他链接的构造函数文档中:'string(size_t n,char c);' 内容被初始化为一个字符串重复形成的字符串n次。 – cgmb 2011-06-01 04:03:49
所以,当我使用测试[]它变成一个字符,不再是一个字符串? – samuraiseoul 2011-06-01 04:21:08