-
append()函数
C++ string append()添加文本
使用append()添加文本常用方法:
直接添加另一个完整的字符串:
如str1.append(str2);
添加另一个字符串的某一段子串:
如str1.append(str2, 11, 7);
添加几个相同的字符:
如str1.append(5, ‘.’); -
strlen()和.size()有什么区别?
strlen()是c的字符串长度函数,.size()是c++中的string类的长度函数,不是一个库里的的东西。
strlen的用法是strlen(char*),而size()的用法是str.size()。
strlen() 是函数,测定字符串的长度,字符串的结束符是 \0
.size() 这个名字,好几个类都用来作 成员函数名,不同的类的 .size() 有各自的定义。正如人名小花,张家有张家的小花,李家有李家的小花,此小花非那小花。
.size() 一般测定大小。
例如字符串:
char str[]=“1234abcd\0XYZ”;
strlen(str) 得 8, 不计 结束符 \0 和它以后的 字节。
sizeof(str) 得 12,计入 结束符 \0 和它以后的 字节
.size() 功能 通常 类似 sizeof()。
length()函数返回字符串的长度. 这个数字应该和size()返回的数字相同.
用法:str.length();
- empty()函数
string str="abc";
str.empty(); //false
如果字符串为空则empty()返回真(true),否则返回假(false).
- C++中substr函数的用法
#include<string>
#include<iostream>
using namespace std;
int main()
{
string s("12345asdf");
string a = s.substr(0,5); //获得字符串s中从第0位开始的长度为5的字符串
cout << a << endl;
}
输出结果为:12345
-
用途:一种构造string的方法
-
形式:s.substr(pos, n)
-
解释:返回一个string,包含s中从pos开始的n个字符的拷贝(pos的默认值是0,n的默认值是s.size() - pos,即不加参数会默认拷贝整个s)
-
补充:若pos的值超过了string的大小,则substr函数会抛出一个out_of_range异常;若pos+n的值超过了string的大小,则substr会调整n的值,只拷贝到string的末尾