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