c/c++ 收集string的操作汇总
1.一次读取文本文件全部内容到string对象中:
1 ifstream in("readme.txt", ios::in); 2 istreambuf_iterator<char> beg(in), end; 3 string strdata(beg, end);//或者string st;st.assign(beg,end); 4 in.close();
2.去掉string对象前面所有空格:
/********************************************************** * *功能:去前空格 * *str:源字符串 * *反回值:去除前空格后的字符串 * ***********************************************************/ CUtils::STRING &CUtils::Ltrim(STRING &str) { str.erase(str.begin(), std::find_if(str.begin(), str.end(), std::not1(std::ptr_fun(::isspace)))); return str; }
3.去掉string对象后面的所有空格:
/********************************************************** * *功能:去后空格 * *str:源字符串 * *反回值:去除后空格后的字符串 * ***********************************************************/ CUtils::STRING &CUtils::Rtrim(STRING &str) { str.erase(std::find_if(str.rbegin(), str.rend(), std::not1(std::ptr_fun(::isspace))).base(), str.end()); return str; }
4.去掉string对象的前后空格:
/********************************************************** * *功能:去前后空格 * *str:源字符串 * *反回值:去除前后空格后的字符串 * ***********************************************************/ CUtils::STRING &CUtils::Trim(STRING &str) { return Rtrim(Ltrim(str)); }
5.string 转成char*的几种方式:
把string转换为char* 有3中方法: 1.data 如: string str="abc"; char *p=str.data(); 2.c_str 如:string str="gdfd"; char *p=str.c_str(); 3. copy 比如 string str="hello"; char p[40]; str.copy(p,5,0); //这里5,代表复制几个字符,0代表复制的位置 *(p+5)='\0'; //要手动加上结束符 cout < <p;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了