char 字符
string 字符串 需要头文件 #include<string>
多个字符组成字符串
字符串变量:
string str1 = "RUNOOB"; // √
string str2 = "中文"; // √
string str[] = "RUNOOB"; // 这个写法不会报错但是 ↓↓↓
string str[] = "RUNOOB";
cout << str[0] << endl;
结果:RUNOOB
原因:------ (等待评论区回答)
字符变量:
char chr = "RUNOOB"; // ×
char chr[] = "RUNOOB"; // √
char chr2 = "中文"; // ×
str1 和 chr : 本质上 string和char str[]一样的
string在底层本质就是一个字符数组
长度获取
char 字符 strlen(name)
string 字符串 name.size()
char 的 内容复制替换
strcpy(s1, s2); 复制字符串s2到字符串s1
string 的 内容复制替换
str1 = str2
内容链接 strcat(s1, s2);
Eg:
string str1 = "runoob"; // char str1 = "runoob";
string str2 = "google"; // char str2 = "google";
string str = str1 + str2; // char str = strcpy( str2, str1);
-------------------------------------------------------------------------------------------------------
char 字符 使用 ↓↓ ↓
strlen(s1); 返回字符串 s1 的长度
strcmp(s1, s2);
如果 s1 和 s2 是相同的,则返回 0;
如果 s1<s2 则返回值小于 0;
如果 s1>s2 则返回值大于
strchr(s1, ch);
返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置
strstr(s1, s2);
返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置
-------------------------------------------------------------------------------------------------------
C++ 标准库提供了 string 类类型
string str1 = "runoob";
string str2 = "google";
string str3; int len ;
// 复制 str1 到 str3
str3 = str1;
// 连接 str1 和 str2
str3 = str1 + str2;
// 连接后,str3 的总长度
len = str3.size();
-------------------------------------------------------------------------------------------------------
string类提供了一系列针对字符串的操作,比如:
- 1. append() -- 在字符串的末尾添加字符
- 2. find() -- 在字符串中查找字符串
- 4. insert() -- 插入字符
- 5. length() -- 返回字符串的长度
- 6. replace() -- 替换字符串
- 7. substr() -- 返回某个子字符串
等等还有很多... 用到可以再查
注意:
Vs2017 使用 strcpy 的时候会报错,提示 strcpy 是不安全的,需要用 strcpy_s 代替
// 复制str1到str2
strcpy_s(str3, str1);