--------------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
0;

}

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
0;

}

 
 

 
 

vs2013中:

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

【made by siwuxie095】

初始String的更多相关文章

  1. C++ string char[] 转化

    可见到string转char[]相当简单,只要呼叫string class的成员函式c_str(),即可将string转为char[].那么char[]转string呢?有两种方法,第一种是初始str ...

  2. String,StringBuffer,StringBuilder 的区别是什么

    Java中用于处理字符串常用的有三个类: 1.java.lang.String 2.java.lang.StringBuffer 3.java.lang.StrungBuilder 一.Java St ...

  3. 第十三章 字符串(一)之 String

    这一节来学习String的特性和方法. 一.String对象的不变性 不变性:String对象是由一个final char[] value 数组实现的,因此String对象是不可变的.任何看起来改变S ...

  4. String和StringBuffer的区别;字符串的一些基本方法

    String 和 StringBuffer区别 字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. 需要注意的是,String的 ...

  5. URLDecoder与URLEncoder

    网页中的表单使用POST方法提交时,数据内容的类型是 application/x-www-form-urlencoded,这种类型会: 1.字符"a"-"z", ...

  6. 慕课网:C++ & 数据结构

    课程链接:james_yuan的课程 这部分太枯燥了,如果教材难度稍大,根本就学不下去,所以就先看看通俗的视频吧. 课程目录 1.C++远征之起航篇 - C++亮点尽在其中 2.C++远征之离港篇 - ...

  7. java中的url 编码与解码

    什么是application/x-www-form-urlencoded字符串? 答:它是一种编码类型.当URL地址里包含非西欧字符的字符串时,系统会将这些字符转换成application/x-www ...

  8. 【一天一道LeetCode】#6 ZigZag Conversion

    一天一道LeetCode系列 (一)题目 The string "PAYPALISHIRING" is written in a zigzag pattern on a given ...

  9. http与中文编码传输

    分类: http网络及RFC2012-08-12 15:01 3716人阅读 评论(0) 收藏 举报 urljavascript工具pythonimportjsp 关于http的RFC文档:http: ...

随机推荐

  1. gsub! 和 gsub

    ruby中带“!"和不带"!"的方法的最大的区别就是带”!"的会改变调用对象本身了.比方说str.gsub(/a/, 'b'),不会改变str本身,只会返回一个 ...

  2. Spiral Matrix螺旋遍历矩阵

    假定有: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 这样一个数组矩阵,现要求对其进行顺时针方向螺旋形从外至内地遍历,即输出: [1,2,3,6,9,8,7,4 ...

  3. 第一天 格式化操作符 条件、for、while、break、continue语句

    python2和3的区别: 2中的print 不必加括号 3中的print变为函数 要加括号   2中的input不能输入字母(输入的字母被认为是变量,而之前又没定义,所以报错),默认只能计算数字,要 ...

  4. 2014年互联网IT待遇

    1. 13k*14~16k*145.美团 13k*15~16k*15,也有更高的.6.去哪儿 11k*16~15k*167.人人技术类(12K-14K)*14 (2014)8.58同城 20w+9.网 ...

  5. 如何用<Enter>键代替<Tab>键实现光标焦点转移?

    1.在主窗体的private中定义过程: procedure doenterastab(var Msg:TMsg;var Handled:Boolean); begin    if Msg.messa ...

  6. GVM管理Go版本

    1.为什么要安装GVM 1.1什么是GVM GVM是一个golang虚拟环境配置工具,其允许一台机器上安装多个golang版本,gvm是第三方开发的Go多版本管理工具,类似ruby里面的rvm工具.使 ...

  7. django 链接地址匹配流程

    前提: 代码结构 步骤一: 下面为某个网页的链接地址 <body> {% if latest_article_list %} <ul> {% for article in la ...

  8. 如何在node.js中使用neo4j

    本章中你将会学到如何在node.js中使用neo4j图形数据库. 当你想存储或者查询和数据紧密关联的数据的时候,图形数据库很有用. neo4j是一个可有效存储,处理和查询你数据模型中紧密相连的元素的数 ...

  9. BEC listen and translation exercise 41

    Its advantages are that it can be used for outside activities So my recommendation I'm afraid would ...

  10. 前端多媒体(7)—— 在浏览器中实现rtmp推流

    示例:https://young-cowboy.github.io/gallery/rtmp_client/index.html 在国内的直播场景中通常使用,rtmp协议作为推流协议.RTMP是Rea ...