初始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: ...
随机推荐
- gsub! 和 gsub
ruby中带“!"和不带"!"的方法的最大的区别就是带”!"的会改变调用对象本身了.比方说str.gsub(/a/, 'b'),不会改变str本身,只会返回一个 ...
- Spiral Matrix螺旋遍历矩阵
假定有: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 这样一个数组矩阵,现要求对其进行顺时针方向螺旋形从外至内地遍历,即输出: [1,2,3,6,9,8,7,4 ...
- 第一天 格式化操作符 条件、for、while、break、continue语句
python2和3的区别: 2中的print 不必加括号 3中的print变为函数 要加括号 2中的input不能输入字母(输入的字母被认为是变量,而之前又没定义,所以报错),默认只能计算数字,要 ...
- 2014年互联网IT待遇
1. 13k*14~16k*145.美团 13k*15~16k*15,也有更高的.6.去哪儿 11k*16~15k*167.人人技术类(12K-14K)*14 (2014)8.58同城 20w+9.网 ...
- 如何用<Enter>键代替<Tab>键实现光标焦点转移?
1.在主窗体的private中定义过程: procedure doenterastab(var Msg:TMsg;var Handled:Boolean); begin if Msg.messa ...
- GVM管理Go版本
1.为什么要安装GVM 1.1什么是GVM GVM是一个golang虚拟环境配置工具,其允许一台机器上安装多个golang版本,gvm是第三方开发的Go多版本管理工具,类似ruby里面的rvm工具.使 ...
- django 链接地址匹配流程
前提: 代码结构 步骤一: 下面为某个网页的链接地址 <body> {% if latest_article_list %} <ul> {% for article in la ...
- 如何在node.js中使用neo4j
本章中你将会学到如何在node.js中使用neo4j图形数据库. 当你想存储或者查询和数据紧密关联的数据的时候,图形数据库很有用. neo4j是一个可有效存储,处理和查询你数据模型中紧密相连的元素的数 ...
- BEC listen and translation exercise 41
Its advantages are that it can be used for outside activities So my recommendation I'm afraid would ...
- 前端多媒体(7)—— 在浏览器中实现rtmp推流
示例:https://young-cowboy.github.io/gallery/rtmp_client/index.html 在国内的直播场景中通常使用,rtmp协议作为推流协议.RTMP是Rea ...