首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请教一下C++ string类的字符串是否存在长度限制呢

2013-09-06 
请问一下C++ string类的字符串是否存在长度限制呢?今天在写C++的时候,写到了获取路径的字符串,然后尝试将

请问一下C++ string类的字符串是否存在长度限制呢?
今天在写C++的时候,写到了获取路径的字符串,然后尝试将文件拉拽进去(文件源路径的字符串长度大概也以后100~200之间)。我尝试了一下用STRING和字符数组(数组大小300)测试后发现用STRING获取路径尝试进行输出时会报错终止,但是改用字符数组却不会。而我查STRING的资料还是一知半解的,所以前来求教各位。问题如下:

①STRING类的STRING长度是否存在限制~?
②LPSTR与STRING之间的转换直接这样写:(LPSTR)str.c_str()  //str为string类的变量名。

在这里先谢过各位回答的朋友与高手们了呵呵。
[解决办法]
1。std::string对于100~200个字符是没有问题的,除非你的机器内存很小
2,std::string::c_str()的返回值是char const*,不要转换为char*/LPSTR,防止恶意修改。若要修改请在std::string对象中修改。
[解决办法]
具体编译器的理论上的最大长度可以这样获取

string s;

cout <<s.max_size() <<endl;


VS2008是4G

热点排行