std.string怎么操作

aaseh 2012-06-03 05:33:56
学习std::string有3个疑问:
1.怎么把"abc\0def"放入string;
2.怎么把字符串”\t\0\n123"追加到string里;
3.怎么从string里删除“c\0d"字符串;
...全文
112 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
aaseh 2012-06-03
  • 打赏
  • 举报
回复
怎么知道操作是否成功?
aaseh 2012-06-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

C/C++ code
#include <iostream>
#include <string>

int main() {
using namespace std;
string s("abc\0def", sizeof("abc\0def")-1);
s += string("\t\0\n123", sizeof("\t\0\n123")-1);
s.era……
[/Quote]
sizeof()-1是什么意思?
zhangsongcui 2012-06-03
  • 打赏
  • 举报
回复
#include <iostream>
#include <string>

int main() {
using namespace std;
string s("abc\0def", sizeof("abc\0def")-1);
s += string("\t\0\n123", sizeof("\t\0\n123")-1);
s.erase(s.find(string("c\0d", sizeof("c\0d")-1)), sizeof("c\0d")-1);
cout << s;
}
qq120848369 2012-06-03
  • 打赏
  • 举报
回复
1,先放"abc#def",然后将'#'换成'\0'。
2,同1
3, 先将string的\0换成#,然后删除c#d,再将#换回\0.

字符串里不要有#,可以找点稀有字符,比如<0 ,>127的字符,当然如果是GBK/UTF8编码带中文的字符串就尴尬了。
某大一菜鸟 2012-06-03
  • 打赏
  • 举报
回复
string tem;

tem = "abc\0def"; //1

tem.push_back("\t\0\n123"); //2

tem.replace("c\0d", ""); //3

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧