Hello world cpp之旅 - 字符串(1)
2019独角兽企业重金招聘Python工程师标准>>>
my site on github stupidgrass
helloworld之前言
hello world在编程界的名声是众所周知的,每个人在入门的时候都会接触到的两个单词。在c++中,当然也不能例外了。最为常用的方式就是如下:
#include <iostream>int main() {std::cout << "hello world" << std::endl;
}
就这样,hello world就成功的登上了控制台中,进入了人们的视野。
但就这样当大家对于hello world越来越熟悉的时候,往往也变得越来越“陌生”,对于它的存在成为了理所当然的事情。今天,突然想到这么个问题,是不是编程中的很多问题都能够简化成“hello world”的方式进行阐述呢?这一系列的文章的出现就是笔者想借用“hello world”的名声,来进行一次c++的旅行。当然,本人只是小菜一颗,只是不想将这种想法丢进垃圾桶,让它无声无息的发酵罢了。
让我们步入正题吧。
helloworld与字符串
helloworld是什么?在这么个问题之前,很容易想到的就是“字母”,“字符”,“一串字符”,简而言之“字符串”。一个编程语言要和人们的生活息息相关,就无法离开“字符串”这个媒介。那么在c++中,通过怎样的方式实现存储,读取,显示,查找等等功能的呢?
helloworld的定义
char *helloworld_c = "hello world"; // or char hellowrold_c[] = ...
std::string helloworld_str = "hello world";
std::vector<char> helloworld_vec = {'h','e','l','l','o','','w','o','r','l','d'} ;
这样helloworld就成功的在计算机的内存中有了自己的“家”了。现在是通过人为的方式进行定义的,如果我想交互式的输入自己输入helloworld呢?这也简单。
helloworld的读取
std::cin >> helloworld_c;
std::cin >> helloworld_str; // this way is better
char tmp;
while (cin >> tmp) {helloworld_vec.push_back(tmp);
}
在这里显而易见,通过string 的方式是最为简便的。对于vector想必也有挺多人带有些许的好奇之心吧。就好比是一个中空的管子,平时有一端是闭合的,有一端是开启的,当我们向其中赋值的时候,就相当于往里面扔东西,可以扔各种各样的东西,但为了能够方便以后的整理,往往先在这个管子上贴上标签,说明里面装什么东西,然后再往里面扔东西。比如这里是“char
”。而string
相当于从vector
中独立出来的东东,专门面向字符串。
helloworld的输出
std::cout << helloworld_c << std::endl;
std::cout << helloworld_str << std::endl;
for (vector<int>::iterator i=helloworld_vec.begin(); i != helloworld_vec.end(); ++i) {cout << *i;
}
std::cout << std::endl;
// or
for (auto c : helloworld_vec) { // new in c++11cout << c;
}
std::cout << std::endl;
这里的cin和cout就好比两把通向控制台的万能钥匙,对于常见的数据类型,(数值类型,字符串类型),甚至是自定义的类型,都能够通过cin和cout来进行数据的输入以及输出。在很大程度上简化了问题的复杂度。
转载于:https://my.oschina.net/grassyue/blog/164463
Hello world cpp之旅 - 字符串(1)相关推荐
- python身份证的秘密_Python算法之旅字符串游戏之身份证号的秘密
最近在力扣(LeetCode)网闲逛,发现很多题目的官方题解都是用Python语言来描述的,这说明大家已经逐渐认识到Python语言描述算法的优越性:它语法简明,内置函数丰富,表述直截了当,可以用最简 ...
- Cpp / Hash 所得字符串转成 Hex 字符串。
遇到的需求如下,将待明文 Hash 所得的结果转成 Hex 字符串.最开始没懂这条需求是什么意思,后来查阅资料之后终于弄到了,总结如下: 字符串中每个字节按照整型读取,将该值转成 16 进制数并转成字 ...
- Python算法之旅字符串游戏之无效的身份证
出场人物介绍 小美:小学4年级学生,参加了学校的编程兴趣小组,已经了解了Python语言的基本语法,能够看懂一些简单的程序.她做事风风火火,对所有的事情都很好奇,喜欢打破砂锅问到底,是一个叫人又爱又恨 ...
- c++ 字符串去掉首尾空格_C++ 去掉字符串的首尾空格和全部空格
#include #include using namespace std; //去掉收尾空格 string& ClearHeadTailSpace(string &str) { if ...
- c语言怎么进行字符串比较,c语言怎么进行字符串比较
比较方法:1.bcmp(),比较字符串的前n个字节是否相等:2.strcmp(),区分大小写的比较字符串:3.stricmp(),不区分大小写的比较字符串:4.strncmp()或strnicmp() ...
- 浅显易懂 Makefile 入门 (05)— 字符串处理函数(patsubst、subst、strip、findstring、filter、filter-out、sort、word)
1. 字符串函数格式 函数调用的格式如下: $(<function> <arguments>) 或者是 ${<function> <arguments> ...
- Jsoncpp 使用方法解析
Jsoncpp是目前比较好用的开源Json解析库,现在总结一下它的使用方法,理解,以供以后查阅. 在引入Jsoncpp的时候我们看到Jsoncpp里边的常用的cpp文件,有json_reader.cp ...
- 网易技术干货 | 云信跨平台C++ SDK开发实战
1. 序 言 2018年,Flutter Release正式发布,将移动端跨平台开发技术再一次推上风口浪尖.2019年5月,Flutter 1.5正式支持Web开发,而预告中正在开发的Flutter ...
- 【C++grammar】文件系统以及path类使用
目录 1.文件系统概述 1.关于路径 2.如何将某个路径下的所有文件递归地找出来? 2.路径类及操作 1.path类的成员函数 2.path类的非成员函数 示例1:展示C++17中的path对象的用法 ...
最新文章
- 加密解密、食谱、新冠序列,各种有趣的开源项目Github上都有
- 石川es6课程---13-16、generator-认识生成器函数
- Python入门学习笔记11(静态方法、类方法与属性方法)
- 如何使用XML 配置的方式配置Spring?
- PHP 发送Email的几种方法
- 围棋棋盘怎么编程python_围_围是什么意思_围字怎么读_围的含义_围字组词-新东方在线字典...
- 从Qt4 迁移到Qt5 winEvent代替为nativeEvent
- C++中doulbe/float/int转为CString方法(转)
- 树莓派4b安装windows iot_树莓派4B基于python3安装opencv4全教程
- javascript模式 (3)——工厂模式和装饰模式
- java小游戏飞机大战,java飞机大战小游戏
- 数据库的几种去重方法总结
- VLAN隔离葵花宝典(一)
- 高纯度钨酸铜粉末/钨酸铁粉末/钨酸亚铁粉末/硫化铋粉末/铬酸铋粉末/氧化锆粉末/铬酸钡粉末
- Android第三方SDK集成 —— 极光推送
- windows html封装,怎样win7自带的sysprep封装系统
- 项目管理 | 如何正确的向领导汇报工作?
- WORD2003相关问题
- 解决 ArchLinux 下中文 Chinese 不能输入 couldnt input 的问题
- 树莓派配置无线网络(补充) 【for_wind】
热门文章
- win10系统要求配置_Windows 10最低系统配置要求
- linux boot efi分区 容量,解决Ubuntu上由于/boot容量不足引起的无法更新系统
- pandas python2_Python随笔 | Pandas入门(二)
- redis value最大值_Redis基础知识整理
- 快速学习 rollup 打包
- oracle not in 数组,慎用Oracle的not in (轉)
- excel如何把多张表合并成一个表_从产品经理到总监,就差一张高价值Excel表
- oracle log.xml分析,Oracle 11g Alert Log日志位置及参数
- pytorch 对抗样本_【天池大赛】通用目标检测的对抗攻击方法一览
- android kotlin log,Kotlin实现Log打印工具类