初始String
--------------siwuxie095
使用频繁操作繁琐的数据有哪些?
对于基本数据类型:int、char、bool、float、double,虽然
使用频繁,但是操作简单
只有
char 类型的数组,即 字符串,它使用频繁,但操作时却
缺乏一种简单有效的手段,往往只能用一系列的函数来应付
如:strstr、strlen、strcat、strcpy、strcmp、strncpy、strncmp
用的多了就会发现特别的麻烦,有的时候简直就令人抓狂 …
于是便有了 string 类型来解放一切 …
看一个用到 string 的例子:
注意:使用
string 时需要将头文件 #include <string> 包含进去
string 的初始化方式:
string 的常用操作:
针对 s1+s2 这种字符串连接需要特别注意:并不是所有字符串之间都可以进行连接
「只有
string 变量与双引号引起的字符串进行连接才是合法的」
程序:
#include <stdlib.h> #include <iostream> #include <string> using namespace std; /******************************************************************/ /* 题目描述: 1.提示用户输入输入姓名 2.接收用户的输入 3.然后向用户问好,hello xxx 4.告诉用户名字的长度 5.告诉用户名字的首字母是什么 6.如果用户直接输入回车,那么告诉用户的输入为空 7.如果用户输入的是admin,那么告诉用户的角色是一个管理员*/ /******************************************************************/ int main(void) { string name; cout << "Please input your name:"; //因为要判断用户输入是否为空,不能简单使用 cin //需要使用 getline() getline(cin, name); if (name.empty()) { cout << "input is null.." << endl; system("pause"); return } if (name == "admin") { cout << "you are an administrator" << endl; } cout << "hello " + name << endl; //name.size()是一个整型所以不能用加号连接 //即 "your name's length:" + name.size() 是错误的 cout << "your name's length:" << name.size() << endl; //name[0] 的返回值是一个char类型的(只拿到一个字符)所以不能用加号连接 //即 "your name's first letter is:" + name[0] 是错误的 cout << "your name's first letter is:" << name[0] << endl; system("pause"); return } |
vs2013中:
【made by siwuxie095】
初始String的更多相关文章
- C++ string char[] 转化
可见到string转char[]相当简单,只要呼叫string class的成员函式c_str(),即可将string转为char[].那么char[]转string呢?有两种方法,第一种是初始str ...
- String,StringBuffer,StringBuilder 的区别是什么
Java中用于处理字符串常用的有三个类: 1.java.lang.String 2.java.lang.StringBuffer 3.java.lang.StrungBuilder 一.Java St ...
- 第十三章 字符串(一)之 String
这一节来学习String的特性和方法. 一.String对象的不变性 不变性:String对象是由一个final char[] value 数组实现的,因此String对象是不可变的.任何看起来改变S ...
- String和StringBuffer的区别;字符串的一些基本方法
String 和 StringBuffer区别 字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. 需要注意的是,String的 ...
- URLDecoder与URLEncoder
网页中的表单使用POST方法提交时,数据内容的类型是 application/x-www-form-urlencoded,这种类型会: 1.字符"a"-"z", ...
- 慕课网:C++ & 数据结构
课程链接:james_yuan的课程 这部分太枯燥了,如果教材难度稍大,根本就学不下去,所以就先看看通俗的视频吧. 课程目录 1.C++远征之起航篇 - C++亮点尽在其中 2.C++远征之离港篇 - ...
- java中的url 编码与解码
什么是application/x-www-form-urlencoded字符串? 答:它是一种编码类型.当URL地址里包含非西欧字符的字符串时,系统会将这些字符转换成application/x-www ...
- 【一天一道LeetCode】#6 ZigZag Conversion
一天一道LeetCode系列 (一)题目 The string "PAYPALISHIRING" is written in a zigzag pattern on a given ...
- http与中文编码传输
分类: http网络及RFC2012-08-12 15:01 3716人阅读 评论(0) 收藏 举报 urljavascript工具pythonimportjsp 关于http的RFC文档:http: ...
随机推荐
- Python lambda 匿名函数
lambda [arg1[, arg2, ... argN]]: expression Python使用lambda关键字创造匿名函数.所谓匿名,意即不再使用def语句这样标准的形式定义一个函数.这种 ...
- 创建图形用户界面GUI和事件监听机制的简单实现(java)
创建图形化界面 1.创建Frame窗体 2.对窗体进行基本设置 比如:大小.位置.布局 3.定义组件 4.将组建通过窗体添加到窗体中 5.让窗体显示,通过setVisib ...
- vi/vim滚动屏幕
VIM帮助文档如是说 Q_sc Scrolling CTRL-E N CTRL-E window N lines downwards (default: 1) CTRL-D N CTRL-D wind ...
- 剑指offer——不能被继承的类
方法一:通过将类的构造函数和析构函数声明成private来防止子类继承.声明静态的方法来构造和析构类的对象. 但是用起来不是很方便.只能得到在堆上的实例,而不能得到在栈上的实例. 方法二:构造辅助类C ...
- Linux初识(命令, 文件, 系统管理)
Linux初识(命令, 文件) 文件系统 在Linux系统下,没有驱动器磁盘,只有一个根目录 / ,所有的文件都在根目录下面. 相关文件夹介绍 bin : 程序相关 boot : 开机启动相关 cdr ...
- Luogu-3705 [SDOI2017]新生舞会
分数规划,最大费用最大流 题意可以简化为给出一个矩阵,要求每行和每列必须且只能取一个格子,要求\(sigma\ a_{i,j}/sigma\ b_{i,j}\) 最大 考虑分数规划,可以将式子转化: ...
- HTML特效文字代码大全
HTML特效文字代码大全一.从右向左移代码<marquee direction=left>需要移动的文字</marquee>二.从左向右移代码<marquee dire ...
- mysql查看和设置timeout 和批量杀死链接进程
查看的语句 show global variables like "%timeout%"; 结果: +-----------------------------+--------- ...
- c语言代码风格
简要:主要介绍了K&R风格和Allman(BSD)风格之间的缩进大小和大括号位置等区别 关于其它的代码风格,详见:Indent style - Wikipedia. 1.K&R sty ...
- string 中的 length函数 和size函数 返回值问题
string 中的 length函数 和 size函数 的返回值 ( 还有 char [ ] 中 测量字符串的 strlen 函数 ) 应该是 unsigned int 类型的 不可以 和 -1 ...