字符串的处理
一、字符数组
用来存放字符型数据的数组称为字符数组,其元素是一个个的字符。
char 字符数组名[常量表达式];
C++语言规定字符串是以'\0'字符作为结束符的字符数组。
在程序中可以通过判断数组元素是否为空字符来判断字符串是否结束。
字符串的输入和输出
(1)使用标准输入输出流,将整个字符串一次输入或输出。
char str[80];
cin >> str;
cout << str;
(2)使用字符串输入输出函数
gets()函数
char *gets(char *s)
(3)puts函数
int puts(char *s)
puts函数输出s字符串,遇到空字符结束,输完后再输出一个换行('\n')。s是字符数组或指向字符数组的指针,返回值表示输出字符的个数。
puts输出的字符不包括空字符。
二、字符串处理函数
C++标准库提供了兼容C语言的字符串处理函数,其头文件为string.h
三、字符串对象
C++为字符串提供了一种新的自定义类型:字符串类string,采用动态内存管理,
使用string类需要将其头文件包含到程序中,预处理命令为:
#include <string>
1. 字符串对象的定义和初始化
如果string对象没有初始化则一律是空字符串,C++字符串对象不需要NULL字符结尾。
2. 字符串对象的引用
3. 字符串对象的输入和输出
4. 字符串对象与C风格字符串的转换
四、字符串对象的操作
string对象允许使用运算符进行操作,实现类似C风格字符串的处理。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str1 = "ABCDEFGHIJK";
string str2;
// 输出
cout << str1 << endl;
// 获取字符串的长度
cout << "获取字符串的长度" << endl;
cout << str1.size() << endl;
cout << str1.length() << endl;
// 检查字符串是否为空字符
cout << "检查字符串是否为空字符" << endl;
cout << str1.empty() << endl;
cout << str2.empty() << endl;
// 得到子字符串
cout << "得到子字符串" << endl;
str2 = str1.substr(2, 5);
cout << str2 << endl;
return 0;
}