字符串的函数
- 字符串转字符数组
string str = "Hello, World!";
const char* cstr = str.c_str();
string.c_str是Borland封装的String类中的一个函数,它返回当前字符串的首字符地址。
c_str()返回的是一个临时指针,不能对其进行操作。
所以需要使用const char * 类型的常量指针来对其进行接收,否则会报错;
因为string可以看作是数组构成的串,所以直接定义一个char的指针,指过去就可以了。
那为什么是 const char* cstr ,不应该是数组吗?
请看另一篇
- 字符串转数字方法—atoi()
int atoi(const char* str);//这里为什么是char* ??太复杂了
在C++中,atoi()函数是将字符串转换为整数的函数,其作用与stoi()函数类似,不同之处在于atoi()函数是C语言中的函数,而stoi()函数是C++11中新增的函数。
- str是要转换的字符串,必须是以null结尾的字符串。
- atoi()函数会从字符串的开头开始读取数字字符,直到遇到第一个非数字字符为止,然后将读取到的数字字符转换为整数类型的数字。如果字符串的开头不是数字字符,则返回0。
- 数字转为字符串
方法1
int a = 0;
String str = String.valueOf(a);
方法2
to_string(int等)
方法3
在C++中,stringstream是一个字符串流类/输入输出流对象,可以将字符串转换为数字、字符等基本数据类型
用于:
1.数据类型转换
2.字符串拼接
3.分割字符串 stringstream默认遇到空格、tab、回车换行会停止字节流输出。
int num = 123;
stringstream ss;
ss << num; // 将整数转换为字符串
string str;
ss >> str; // 将字符串读取到变量中
cout << str << endl;
在将整数转换为字符串后,我们使用>>运算符将其读取到字符串变量str中,并输出到屏幕上。
- 字符串截取—substr()
std::string substr (size_t pos, size_t len) const;
//pos参数指定了子串的起始位置,len参数指定了子串的长度。
//该函数返回从当前字符串中的pos位置开始,长度为len的子串
- 读取一行getline(cin, input1);
- 长度
size() 和 length():这两个函数会返回 string 类型对象中的字符个数,且它们的执行效果相同。
字符数组的函数
- 字符数组的初始化
- 字符数组转为字符串
char[] ch ={'a', 'b', 'c'};
String s = new String(ch );
- 其他的函数