从零开始学习C++(十八.字符串)

「这是我参与2022首次更文挑战的第18天,活动详情查看:2022首次更文挑战

前言

前篇文章介绍了一些编程语言基本通用的运算符,今天看下C++中有点不一样的字符串类型。

char

在C++中最简单的字符串类型就是char ,在C++中char类型的变量只能保存一个字符,想要保存多个字符只能使用字符串数组使用:char a[] = "abc",其实在C++中char类型是另一种整型,计算机中只能存储0和1,单个字节长度为8位,8位的0和1能表示的最大的数就是128,要一个字节能够表示计算机系统中所有基本符号,在很多系统支持的字符都不超过128个。这128个字符就是著名的ASCII编码。
我们来打印一下单个字符的ASCII编码:

#include <iostream>
using namespace std;

int main()
{
	char a;

	cout << "请输入字符: ";
	cin >> a;
	int b = a;
	cout << "您的输入是: " << b << endl;
}
复制代码

image.png 结论就是a这个字符的ASCII编码就是97。

string

在C++中string是一个std标准库的内容,在之前的例子中我很少会用到char,因为char是C语言风格的数据类型非常原始,string是C++的新的数据类型,它简化了很多原始char类型数据的操作,string应该是一个类,而不是真实的数据类型。例如它有很多初始化方法用来初始化一个字符串:

#include <iostream>
using namespace std;

int main()
{
	string a1="a";  
	string a2("abc");
	string a3 (4, 'a');  //字符串复制
	string a4("123", 1, 10); //字符串截取
	cout << "a1输出: " << a1 << endl;
	cout << "a2输出: " << a2 << endl; 
	cout << "a3输出: " << a3 << endl;
	cout << "a4输出: " << a4 << endl;
}
复制代码

image.png 使用string 类的时候必须引入std标准库

string 字符串连接

#include <iostream>
using namespace std;

int main()
{

	string c="c";
	string d = "d";
	d.append(c);
	cout << "d输出: " << d << endl;

}
复制代码

image.png

字符串比较

#include <iostream>
using namespace std;

int main()
{

	string c="c";
	string d = "d";
	int e = c.compare(d);
	cout << "e输出: " << e << endl;

}
复制代码

image.png 结果用数字表示,结果如下,对比的是字符串ASCII编码

  • 小于 0 表示当前的字符串小;
  • 等于 0 表示两个字符串相等;
  • 大于 0 表示另一个字符串小;

总结

今天学习了一下较为底层的char类型和一点点底层知识。还有C++标准库中的string类,介绍了两个常用的方法,以后再遇到字符串处理的地方在补充~,有错误指出还望大家指出。

Guess you like

Origin juejin.im/post/7068677095069024270