当前位置: 编程技术>c/c++/嵌入式
C++中用substr()函数消除前后空格的解决方法详解
来源: 互联网 发布时间:2014-10-14
本文导语: 最近做了个题目,遇到了要将字符串前后空格消除的细节问题。在Java中好像有一个字符串函数为trim()可以消除字符串后的空格。对于c++,查了一下,可以引用一个c++标准库Boost,可以轻松解决,但要下载,设置环境变量,因而...
最近做了个题目,遇到了要将字符串前后空格消除的细节问题。在Java中好像有一个字符串函数为trim()可以消除字符串后的空格。对于c++,查了一下,可以引用一个c++标准库Boost,可以轻松解决,但要下载,设置环境变量,因而没去弄。当然还可以用正则表达式进行匹配,但似乎都大材小用。不如就用substr()函数,而且string有find_last_not_of,find_first_not_of等等属性,已经够我们解决问题了。
#include
#include
#include
#include
using namespace std;
//从文件中读取每一行,然后消除前后空格,使其连成一个新的字符串。
int main()
{
string newstring = "";
vector str;
ifstream fin("a.txt");
string line;
while (getline(fin, line))
str.push_back(line);
for (unsigned i = 0; i < str.size(); i++)
{
newstring += str[i].substr(str[i].find_first_not_of(" "),str[i].find_last_not_of(" ")-str[i].find_first_not_of(" ")+1);
}
cout
请问在Linux中用哪种编译器调试C++较好?
linux中用C++访问oracle数据库后,封装接口的问题……………………
像 DeleteFile之类windows的API函数,能在linux下编译的c++程序中用么? 不能的话用什么代替?
马上给分!我把C程序改成C++程序,Makefile中用GCC可以,G++就不行了?
C++中用指向数组的指针作函数参数
AIX中用xlc是否能链接C++的动态库,需要添加什么参数?
C++中用两个标准容器stack,实现一个队列的方法详解
C++中用栈来判断括号字符串匹配问题的实现方法
在Visual Studio中用C++语言创建DLL动态链接库图文教程
linux系统在shell中用while读取文件分隔符tab键转空格???
代码如下:
#include
#include
#include
#include
using namespace std;
//从文件中读取每一行,然后消除前后空格,使其连成一个新的字符串。
int main()
{
string newstring = "";
vector str;
ifstream fin("a.txt");
string line;
while (getline(fin, line))
str.push_back(line);
for (unsigned i = 0; i < str.size(); i++)
{
newstring += str[i].substr(str[i].find_first_not_of(" "),str[i].find_last_not_of(" ")-str[i].find_first_not_of(" ")+1);
}
cout
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!