初始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 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】

原文地址:https://www.cnblogs.com/siwuxie095/p/6700884.html