stl string 小练习
最近没啥可写的 这里写下做的STL小练习 作为记录
去除指定字符串中的空格
获取文件名并根据名字创建临时文件,以TMP后缀结尾,已经为TMP后缀结尾文件则创建以XXX后缀结尾文件
读取一行输入内容 并将单词翻转打印
// 1111.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include <string>
#include <iostream>
#include <algorithm> using namespace std; string strArray[5] = {"prog.dat","mydir","hello.","oops.tmp","end.dat"}; string TrimSpace(string str)
{ string::size_type i; while( (i = str.find(" ")) != string::npos )
{
str.replace(i,1,"");
} string::iterator newEnd = remove(str.begin(),str.end(),' ');
str.erase(newEnd,str.end()); return str;
} void ReversPrintWordInLine()
{
const string delims(" \t,.;");
string line;
while(getline(cin,line))
{
string::size_type begIdx,endIdx;
begIdx = line.find_first_not_of(delims);
while(begIdx != string::npos)
{
endIdx = line.find_first_of(delims,begIdx);
if(endIdx == string::npos)
{
endIdx = line.length();
}
for(int i = endIdx-1;i >= static_cast<int>(begIdx);--i)
{
cout << line[i];
}
cout << ' '; begIdx = line.find_first_not_of(delims,endIdx);
}
cout << endl;
}
} void CreateTmpFilename()
{ string filename,basename,extname,tmpname;
const string suffix("tmp"); for(int i = 0;i < 5;++i)
{
string::size_type idx = strArray[i].find(".");
if(idx == string::npos)
{
tmpname = strArray[i]+"."+suffix;
}else
{
basename = strArray[i].substr(0,idx);
extname = strArray[i].substr(idx+1);
if(extname.empty())
{
tmpname = strArray[i];
tmpname += suffix;
}else if(extname == suffix)
{
tmpname = strArray[i];
tmpname.replace(idx+1,extname.size(),"xxx");
}else
{
tmpname = strArray[i];
tmpname.replace(idx+1,suffix.size(),suffix);
}
} cout << strArray[i] << " ==> " << tmpname << endl;
}
cout << endl;
} int _tmain(int argc, _TCHAR* argv[])
{
string str = TrimSpace(" sdfsf sdfs sdf ");
cout << "remove space " << str << endl << endl; CreateTmpFilename(); ReversPrintWordInLine(); return 0;
}
stl string 小练习的更多相关文章
- 深入剖析 linux GCC 4.4 的 STL string
转自: 深入剖析 linux GCC 4.4 的 STL string 本文通过研究STL源码来剖析C++中标准模板块库std::string运行机理,重点研究了其中的引用计数和Copy-On-Wri ...
- 格式字符串分配stl::string
代码非常easy,不解释,直接在代码: #include <cstdio> #include <cstdarg> #include <iostream> using ...
- 浅谈C++ STL string容器
浅谈C++ STL string容器 本篇随笔简单讲解一下\(C++STL\)中\(string\)容器的使用方法及技巧. string容器的概念 其实\(string\)并不是\(STL\)的一种容 ...
- C++标准模板库Stand Template Library(STL)简介与STL string类
参考<21天学通C++>第15和16章节,在对宏和模板学习之后,开启对C++实现的标准模板类STL进行简介,同时介绍简单的string类.虽然前面对于vector.deque.list等进 ...
- 转C++之stl::string写时拷贝导致的问题
前几天在开发某些数据结构到文件的 Dump 和 Load 功能的时候, 遇到的一个 bug . [问题复现] 问题主要出在 Load 过程中,从文件读取数据的时候, 直接使用 fread 的去操作 s ...
- stl string
10.2.1 STL的string 1String概念 ² string是STL的字符串类型,通常用来表示字符串.而在使用string之前,字符串通常是用char*表示的.string与char*都 ...
- [转] 深入剖析 linux GCC 4.4 的 STL string
本文通过研究STL源码来剖析C++中标准模板块库std::string运行机理,重点研究了其中的引用计数和Copy-On-Write技术. 平台:x86_64-redhat-linux gcc ver ...
- STL - string(典型操作demo)
1String概念 string是STL的字符串类型,通常用来表示字符串.而在使用string之前,字符串通常是用char*表示的.string与char*都可以用来表示字符串,那么二者有什么区别呢 ...
- STL——string
C++之string类型详解 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够.字符串长度等等,而且作为一个泛型类出现,他集成的操作函 ...
随机推荐
- 手机端移动端的选择框mobileSelect.js使用
手机端移动端的选择框mobileSelect.js使用 文件地址:https://github.com/onlyhom/mobileSelect.js 请感兴趣的自行下载 使用过程 1 引入标签 &l ...
- centos6.5 64练手安装memcached,PHP调试
思路 先安装 memcached 然后安装php的基于扩展libmemcache ,然后安装php memcache扩展包,然后把扩展添加到php.ini 1 yum安装 简单方便 yum ins ...
- sqlserver导入导出数据库结构及创建用户分配权限
1.创建用户分配权限 https://www.cnblogs.com/jennyjiang-00/p/5803140.html 2.sqlserver2008导出表结构和表数据 导出表结构 htt ...
- Xshell图形界面启动
https://blog.csdn.net/qq_27843481/article/details/50539797 增加内存:https://jingyan.baidu.com/article/4d ...
- 编写一个基于Soap DataModule的三层数据库应用
服务器端:建立一个Web App Debugger executable类型,不需要接口,添加一个SoapData Module,放上AdoCon,AdoDataSet,DataSetProvider ...
- Activity工作流学习(一)——Activity服务类
Activity有9个service1.DynamicBpmnService动态Bpmn服务Service providing access to the repository of process ...
- time 时间内置模块3种形态的转化
import time print(time.time()) #获得时间戳 1526998642.877814 print(time.sleep(2)) #停止2秒 print(time.gmti ...
- as3 typeof 对象类型与返回结果对照表 is as
is 和as 运算符使用很广泛.is 用来判断一个对象是否属于一种类型,返回布尔值,true 代表属于,false 表示不属于.使用格式如下:trace (9 is Number); //输出:tru ...
- ABAP-HTTP支持
ABAP 中对HTTP的支持 SAP Web Application Server -> Internet Communication Framework. http://help.sap.c ...
- cobbler配置解析
1.Cobbler命令说明: 命令名称 命令用途 cobbler check 检查cobbler配置 cobbler list 列出所有的cobbler元素 cobbler report 列出元素的详 ...