--------------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. Spring MVC 通过反射将数据导出到excel

    直接上代码 // 导出excel方法 @RequestMapping("exportExcel") public void exportExcel(HttpServletReque ...

  2. 每天一个Linux命令(29)du命令

        du命令是对文件和目录磁盘使用的空间的查看.     (1)用法:     用法:  du  [选项]  [文件]     (2)功能:     功能:  报告磁盘空间使用情况     (3) ...

  3. c的详细学习(1)C语言概述

        本节用来简要介绍c语言.     (1)C语言的特点: C语言是一种集汇编语言及高级语言为一身的,面向过程的结构化和模块化的程序设计语言. 特点: 兼具高级语言与低级语言的双重能力.C语言允许 ...

  4. css3条纹边框效果

    在线演示 本地下载

  5. debian下蓝牙适配器的配置和使用

    本文打算将蓝牙适配器和手机蓝牙进行配对. 买了个支持蓝牙4.0协议的蓝牙适配器,将其插入到pc(debian 7.4)的usb口. 查看手机蓝牙信息: 选择手机中"设置"-> ...

  6. hid_info函数分析

    昨天博文<linux下无线鼠标驱动执行流程>中有一行输出信息很让我迷惑,如下所示: [ :1D57: Mouse [HID Wireless Mouse HID Wireless Mous ...

  7. Linux内核源码中的likely和unlikely释疑【转】

    本文转载自:https://my.oschina.net/armsky/blog/15320 ikely()与unlikely()在2.6内核中,随处可见,那为什么要用它们?它们之间有什么区别呢? 首 ...

  8. ScreenOS学习笔记

    安全区段 第2层 V1-Trust 同一区段内的接口通信不需要策略,不同区段之间的接口通信则需要策略. Global区段没有接口 V1-Untrust V1-DMZ 第3层 Trust Untrust ...

  9. 分享知识快乐自己:Layui 常用样式

    下载 样式包  Layui  layer 引入 js 及 样式: <link rel="stylesheet" href="${ctx}/static/layui/ ...

  10. Spring4面向切面AOP

    AOP(Aspect Oriented Programming)面向切面编程,通过预编译方式和运行期动态代理实现程序功能的横向多模块统一控制的一种技术.AOP是OOP的补充,是spring框架中的一个 ...