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

关于使用string的小疑点

2012-11-06 
关于使用string的小问题std::string buf_str onlinecontrol.SerializeToString(&buf_str)//此时buf_str

关于使用string的小问题
std::string buf_str ;
onlinecontrol.SerializeToString(&buf_str);;//此时buf_str已被初始化了1500个字符
std::string tempbuf ;
//好像是下面的问题
for (int i = 0; i < 512; i++)//总共是512字节
tempbuf[i] = buf_str[i] ;
这段程序怎么不行,如果将一个已知大小的string的前n个字符,赋给另一个空的string怎么写呢?

谢谢

[解决办法]
substr
[解决办法]
tempbuf预先没有开辟足够大的空间,不能直接赋值,可以改为tempbuf += buf_str[i];
[解决办法]

tempbuf[i] = buf_str[i] ;可以改成这样
tempbuf += buf_str[i];

[解决办法]

C/C++ code
tempbuf = buf_str.substr(0, 512) 

热点排行