C++处理字符串的方法——字符串类与字符串变量
2016-02-22 23:38
260 查看
一、字符数组
C语言中可以设置一个二维数组,例如str[3][30],大小为3x30,即有3行30列,每一行可以容纳30个字符,可以把str[0],str[1],str[2]看做三个一维字符数组,它们各自有30个元素。
例如:有三个字符串,要求找出其中最大者(要求用函数调用)
c_name是3行30列的字符数组名,它代表二维数组中第一行的首地址,第二个实参的值为3,它是需要处理的字符串个数。
二、字符串类型与字符串变量
1. 字符串类型是C++新提供的一种数据类型——string类
用string定义的变量为字符串变量
实际上string并不是C++具有的基本类型,(char,int..等为基本类型),它是C++标准库中声明的一个字符串类,用这种雷可以定义对象。每一个字符串变量都是string类的一个对象。
2.字符串变量
a、字符串变量的定义与引用
string string1;//定义string1为字符串变量
string string2 = “china”;//定义string2同时对其初始化
注意,要使用string类时,前面必须声明
#include
b、字符串变量的赋值
1. string1 = “china”;
可以直接对字符串变量进行赋值
2.string2 = string1;
可以字符串变量之间相互赋值,且不要求string2与string1长度相同,定义字符串常量时不需要指定长度,字符串变量的长度随着其中字符串的长度的变化而变化。
3. 可以对字符串变量中的某一字符进行赋值
string word = “then”;
word[2]=’a’;
4.字符串变量可以在cin和cout中直接输入输出
5.字符串变量的运算
字符串变量可以不使用strcpy,strcat等函数,可直接用运算符进行运算。
a、字符串复制用赋值号
string2 = string1;
b、字符串连接用加号
string3 = string1 + string2;
c、字符串比较直接用关系运算符
==、>、<、!=、>=、<=
三、字符串数组
string name[5];
并不要求每个字符串元素具有相同的长度。
每一个字符串元素中只包含字符串本身的字符而不包括’\0’
实际上,编译系统为每一个字符串变量分配4个字节,在这个存储单元中,并不直接存放字符串本身,而是存放字符串的地址。
例如:
name[0] = “Zhang”;
则sizeof(name) 和 sizeof(string)的值是不同的,前者为20,后者为4
因为name数组有五个string类元素
C语言中可以设置一个二维数组,例如str[3][30],大小为3x30,即有3行30列,每一行可以容纳30个字符,可以把str[0],str[1],str[2]看做三个一维字符数组,它们各自有30个元素。
例如:有三个字符串,要求找出其中最大者(要求用函数调用)
#include <iostream> #include <string> using namespace std; int main() { void max_string(char str [][30],int i); int i; char c_name[3][30]; for ( i = 0; i < 3; i++ ) cin>>c_name[i]; max_String(c_name,3); return 0; } void max_string( char str[][30],int n ) { int i; char string[30]; strcpy(string,str[0]); for ( i = 0; i < 3; i ++ ) if( strcmp(str[i],string) > 0 ) strcpy( string,str[i] ); cout << endl<<"the large string is"<<string<<endl; }
c_name是3行30列的字符数组名,它代表二维数组中第一行的首地址,第二个实参的值为3,它是需要处理的字符串个数。
二、字符串类型与字符串变量
1. 字符串类型是C++新提供的一种数据类型——string类
用string定义的变量为字符串变量
实际上string并不是C++具有的基本类型,(char,int..等为基本类型),它是C++标准库中声明的一个字符串类,用这种雷可以定义对象。每一个字符串变量都是string类的一个对象。
2.字符串变量
a、字符串变量的定义与引用
string string1;//定义string1为字符串变量
string string2 = “china”;//定义string2同时对其初始化
注意,要使用string类时,前面必须声明
#include
b、字符串变量的赋值
1. string1 = “china”;
可以直接对字符串变量进行赋值
2.string2 = string1;
可以字符串变量之间相互赋值,且不要求string2与string1长度相同,定义字符串常量时不需要指定长度,字符串变量的长度随着其中字符串的长度的变化而变化。
3. 可以对字符串变量中的某一字符进行赋值
string word = “then”;
word[2]=’a’;
4.字符串变量可以在cin和cout中直接输入输出
5.字符串变量的运算
字符串变量可以不使用strcpy,strcat等函数,可直接用运算符进行运算。
a、字符串复制用赋值号
string2 = string1;
b、字符串连接用加号
string3 = string1 + string2;
c、字符串比较直接用关系运算符
==、>、<、!=、>=、<=
三、字符串数组
string name[5];
并不要求每个字符串元素具有相同的长度。
每一个字符串元素中只包含字符串本身的字符而不包括’\0’
实际上,编译系统为每一个字符串变量分配4个字节,在这个存储单元中,并不直接存放字符串本身,而是存放字符串的地址。
例如:
name[0] = “Zhang”;
则sizeof(name) 和 sizeof(string)的值是不同的,前者为20,后者为4
因为name数组有五个string类元素
相关文章推荐
- C++模板简介
- 51内部EEPROM实验
- c++primer阅读笔记之泛型算法
- [转载] C++位运算:将一个4字节整数的二进制表示中的001替换为011
- linu下C语言之BMP图片操作编程(上)
- linu下C语言之BMP图片操作编程(上)
- linu下C语言之BMP图片操作编程(上)
- VC++获取屏幕大小第三篇 物理大小GetDeviceCaps 下
- 64. Minimum Path Sum
- 如何成为一个C++高级程序员
- VC++获取屏幕大小第二篇 物理大小GetDeviceCaps 上
- VC++获取屏幕大小第一篇 像素大小 GetSystemMetrics
- VC++ webbrowser函数使用范例
- HNOI 2013 bzoj 3143 游走
- c++拾遗-----循环和关系表达式
- HNOI 2013 bzoj 3141 旅行
- HNOI 2013 bzoj 3140 消毒
- C++的头文件<iomanip>
- C++ 将float数据归一化到[0,1]
- C语言编程基础知识