首页 > 代码库 > stl string 小练习
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;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。