查询网站开发语言排,山东建站商城,门户网站 开发语言,那些做测评的网站提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 string类对象的修改操作 我们来看 c_str 返回c格式的字符串的操作#xff1a; 我们来看 rfind 和 substr 的操作#xff1a; string类非成员函数 我们来看 r… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 前言 string类对象的修改操作 我们来看 c_str 返回c格式的字符串的操作 我们来看 rfind 和 substr 的操作 string类非成员函数 我们来看 relational operators 的比较大小操作 我们再来看 operator 的操作 总结 前言
世上有两种耀眼的光芒一种是正在升起的太阳一种是正在努力学习编程的你!一个爱学编程的人。各位看官我衷心的希望这篇博客能对你们有所帮助同时也希望各位看官能对我的文章给与点评希望我们能够携手共同促进进步在编程的道路上越走越远 提示以下是本篇文章正文内容下面案例可供参考
string类对象的修改操作
函数名称功能说明push_back在字符串后尾插字符cappend在字符串后追加一个字符串operator(重点)在字符串后追加字符串strc_str(重点)返回C格式字符串find npos(重点)从字符串pos位置开始往后找字符c返回该字符在字符串中的位置rfind从字符串pos位置开始往前找字符c返回该字符在字符串中的位置substr在str中从pos位置开始截取n个字符然后将其返回 string中插入和查找等使用代码演示 注意 在string尾部追加字符时s.push_back(c) / s.append(1, c) / s c三种的实现方式差不多一般 情况下string类的操作用的比较多操作不仅可以连接单个字符还可以连接字符串。对string操作时如果能够大概预估到放多少字符可以先通过reserve把空间预留好。 我们来看 c_str 返回c格式的字符串的操作 第一个参数要的是c的字符串。
c兼容c语言c是从c语言中生长出来的c中的某些标准库是沿用了c语言的所以有时候得使用 c 得用法。比如
void test_string9()
{string s1(hello world);string filename(test.cpp);//filename是string的对象是c的FILE* fout fopen(filename.c_str(), r);//fopen第一个参数要c的字符串地址所以有了 //c_str() 来让c兼容c
}int main()
{test_string9();return 0;
}
我们来看 rfind 和 substr 的操作
//[0, 9]
//[0, 10) 左闭右开右 - 左 个数
void test_string10()
{//string s1(file.cpp);string s1(file.c.tar.zip);// 拿到文件的后缀size_t pos1 s1.rfind(.);//rfind从后往前找if (pos1 ! string::npos){string suffix s1.substr(pos1);//size是有效字符串的长度对于下标而言是\0的位置//string suffix s1.substr(pos1, s1.size()-pos1);cout suffix endl;}else{cout 没有后缀 endl;}string url2(https://legacy.cplusplus.com/reference/string/string/substr/);string url1(http://www.baidu.com/s?ieutf-8f8rsv_bp1rsv_idx1tn65081411_1_oem_dgwd%E5%90%8E%E7%BC%80%20%E8%8B%B1%E6%96%87fenlei256rsv_pq0xc17a6c03003ede72rsv_t7f6eqaxivkivsW9Zwc41K2mIRleeNXjmiMjOgoAC0UgwLzPyVm%2FtSOeppDv%2Frqlangenrsv_dlibrsv_enter1rsv_sug34rsv_sug13rsv_sug7100rsv_sug20rsv_btypeiinputT1588rsv_sug46786);string protocol, domain, uri;//协议、域名、size_t i1 url1.find(:);if (i1 ! string::npos){protocol url1.substr(0, i1 - 0);cout protocol endl;}// strcharsize_t i2 url1.find(/, i1 3);if (i2 ! string::npos){domain url1.substr(i1 3, i2 - (i1 3));cout domain endl;uri url1.substr(i2 1);cout uri endl;}// strstr size_t i3 url1.find(baidu);cout i3 endl;std::string str(Please, replace the vowels in this sentence by asterisks.);cout str endl;// strtokstd::size_t found str.find_first_not_of(aeiou);while (found ! std::string::npos){str[found] *;found str.find_first_not_of(aeiou, found 1);}cout str endl;cout (url1 url2) endl;string ss1 xxx;string ss2 yyy;string ret ss1 ss2;cout ret endl;string ret1 ss1 yyyy;cout ret1 endl;string ret2 yyyy ss2;cout ret2 endl;}int main()
{test_string10();return 0;
} find_first_not_of string类非成员函数
函数功能说明operator尽量少用因为传值返回导致深拷贝效率低operator(重点)输入运算符重载operator(重点)输出运算符重载getline(重点)获取一行字符串relational operators(重点)大小比较
我们来看 relational operators 的比较大小操作
void test_string10()
{string url2(https://legacy.cplusplus.com/reference/string/string/substr/);string url1(http://www.baidu.com/s?ieutf-8f8rsv_bp1rsv_idx1tn65081411_1_oem_dgwd%E5%90%8E%E7%BC%80%20%E8%8B%B1%E6%96%87fenlei256rsv_pq0xc17a6c03003ede72rsv_t7f6eqaxivkivsW9Zwc41K2mIRleeNXjmiMjOgoAC0UgwLzPyVm%2FtSOeppDv%2Frqlangenrsv_dlibrsv_enter1rsv_sug34rsv_sug13rsv_sug7100rsv_sug20rsv_btypeiinputT1588rsv_sug46786);cout (url1 url2) endl;
}int main()
{test_string10();return 0;
} 我们再来看 operator 的操作 int main()
{char ch1;wchar_t ch2;char16_t ch3;char32_t ch4;cout sizeof(ch1) endl;cout sizeof(ch2) endl;cout sizeof(ch3) endl;cout sizeof(ch4) endl;// 编码 文字计算机的存储和表示// ascll//内存/硬盘 只存01char c1 a;//存储字符时内存或硬盘会去查表查到字符对应的数值存储到内存中cout c1 endl;char c2 98;//取字符要显示到显示器上时内存或硬盘会查表查到数值对应的字符再显示出来cout c2 endl;return 0;
} int main()
{int i 1234;double d 11.22;string s1 to_string(i);//将整型和浮点型转换成字符串string s2 to_string(d);string s3(45.55);double d3 stod(s3);//stod:将字符串转换成浮点型;stoi:将字符串转换成int类型cout typeid(std::string::iterator).name() endl;cout typeid(bit::string::iterator).name() endl;//typeid//1、打印对象的类型//2、打印类型的类型(有些类型可能被 typedef 给重命名成了另一个名字,我们可以找到原先的类型)return 0;
} 总结
好了本篇博客到这里就结束了如果有更好的观点请及时留言我会认真观看并学习。不积硅步无以至千里不积小流无以成江海。