2024.2.4最新更新
→ 10.在字符串中添加字符
#include string.h是c语言的库,用于处理char *类型的字符串。
#include string是C++标准库的一个重要的部分-类,主要用于字符串处理。
可以使用输入输出流方式直接进行操作,也可以通过文件等手段进行操作。
#include cstring兼容了过去string.h的函数,但是采用了c++的写法。
#include #include using namespace std; int main() { string str;//定义字符串变量 char s1[100];//定义字符数组 } str.length(); str.size(); length()函数返回字符串的长度. 和size()返回的数字相同.
string str; getline(cin,str);//可以读入一行字符串,可以包含空格,遇到回车结束 char str[100];//输入字符数组 cin.getline(str,sizeof(str));//需要提前固定好输入的字符串的长度,避免输入的字符超出界限 string str; cin>>str;//可以读入一连串的字符,遇到空格或换行(回车)结束 string str; scanf("%s",&str);//遇到空格结束(C++中不推荐使用) str.substr(7,3); // 从下标7开始截取子字符串,截取长度为3的字符串 在字符串中查找指定子字符串,并返回其第一次出现的位置
size_t pos = str.find("World"); // 查找子字符串"World"的位置 str.replace(7, 5, "Universe"); // 替换从下标7开始的5个字符为"Universe" str.insert(5, "Beautiful "); // 在下标5处插入字符串"Beautiful " string str3(str1)//复制str到s str3 = str1;// 复制 str1 到 str3 !!!需要头文件#include
string s = "12sklhfsabfskfb,a aghs 1425416 27638"; sort(s.begin(), s.end()); cout << s << endl; //输出如下: // ,11122234456678aaabbfffghhkklssss 使用erase()函数
string s="12345678"; s.erase(s.begin()+3);//使下标3的字符删掉 //输出 //1235678 删除后变为"1235678",即把(默认第一个下标为0)下标3的字符删掉。
使用push_back()
在字符串后面添加字符
s.push_back('a'); 所适用的操作类型是char a[100]的字符数组 如果想要C++使用,需要将string类的字符串转换成c类型的字符串:
转换所需头文件#include
转换所使用语句:
#include #include using namespace std; int main() { string str = "sajkasb askjakj"; char s1[100]; // 字符数组无需转换 // str.c_str()为转换的关键语句 strcpy(s1, str.c_str()); // 复制字符串 s2 到字符串 s1。 cout << s1 << endl; } 输出
strcpy(s1,s2);//复制s2到s1中 strcat(s1,s2); //连接字符串 s2 到字符串 s1 的末尾。 //连接字符串也可以用 + 号 string str1 = "runoob"; string str2 = "google"; string str = str1 + str2; strlen(s1); strcmp(s1, s2); 如果 s1 和 s2 是相同的,则返回 0;如果 s1
strchr(s1, ch); 返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
后续学习会继续补充~~~