博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hello world travels in cpp - 字符串(2)
阅读量:5971 次
发布时间:2019-06-19

本文共 1660 字,大约阅读时间需要 5 分钟。

hot3.png

引言

在上一篇的内容中我们通过helloworld,了解到了string的好处,那么在这里我们详细的来认识一下string的魅力吧。

w 藏在什么地方了

#include 
#include
int main() { std::string str = "I am the hello world."; // 在开头吗? if (str[0] == 'w') { // or using: *(str.begin()) == 'w' std::cout << "在开头" << std::endl; } else if (str[str.size()-1] == 'w') { // or using (*(str.end()-1) == 'w') std::cout << "在结尾" << std::endl; } else { for (std::string::iterator iter=str.begin(); iter!=str.end(); ++iter) { if (*iter == 'w') { std::cout << "找到了, 在第" << iter-str.begin() + 1 << std::endl; } } /* or using below c++11 for (auto c : str) { if (c == 'w') { std::cout << "找到了, 在" << iter-str.begin() + 1 << std::endl; } } */ }}

在这里,有一点需要注意的是,代码所在文件的编码方式,打个比方说,windows系统内部支持的是gbk的编码方式,如果代码的编码方式是utf-8的话,这里输出的中文就是错误的样子,因此需要确保两者之间的编码方式是一致的。

分离hello world

现在,假如有一个字符串"hello world hello1 world1 hello2 world2",我们需要将这个整串字符串分离成不同的单词,该如何操作呢?

#include 
#include
#include
using std::vector;using std::string;using std::cout;using std::endl;void seperate(const string &input, const char tag, vector
&output) { string tmp; for (auto c : input) { if (c != tag) { tmp = tmp + c; } else if (!tmp.empty()) { output.push_back(tmp); tmp.clear(); } } // deal with the last word if (!tmp.empty()) { output.push_back(tmp); }}int main() { string str = "hello world hello1 world1 hello2 world2"; vector
vec; seperate(str,' ',vec); for (auto v : vec) { cout << v << endl; }}

转载于:https://my.oschina.net/grassyue/blog/167291

你可能感兴趣的文章
类对象RMI的简单实现
查看>>
Android 应用开发实例之情景模式
查看>>
ios中图层和view的关系
查看>>
Linux 查看文件内容的命令
查看>>
python开发_difflib字符串比较
查看>>
被解放的姜戈01 初试天涯
查看>>
mongodb基本数据类型
查看>>
三极管工作区在Spectre中的表示
查看>>
HT for Web的HTML5树组件延迟加载技术实现
查看>>
ASP.NET MVC 3 Razor Nested foreach with if statements
查看>>
【Mysql】命令行
查看>>
Asterisk 安装与配置
查看>>
SQL2008-中不想插入从复记录
查看>>
.Net基础
查看>>
AES加密算法原理
查看>>
《Programming WPF》翻译 第8章 4.关键帧动画
查看>>
iOS UI基础-16.0 UIButton
查看>>
屏蔽各大视频网站播放前15秒30秒广告
查看>>
进入TP-Link路由器之后利用快捷键F12查看星号路由密码的方法
查看>>
linux内核的oops
查看>>