网站开发大牛在哪里做网站设计
- 作者: 五速梦信息网
- 时间: 2026年03月21日 07:38
当前位置: 首页 > news >正文
网站开发大牛,在哪里做网站设计,美业管理软件系统排名,wordpress后台邮箱怎么设置零.前言 本文将重点围绕C的字符串来展开描述。 其中#xff0c;对于C/C中字符串的一些区别也做出了回答#xff0c;并对于C的#xff08;string库#xff09;进行了讲解#xff0c;最后我们给出字符串的不同表达形式。 开发环境#xff1a; VS2022 一.字符串常量跟字…零.前言 本文将重点围绕C的字符串来展开描述。 其中对于C/C中字符串的一些区别也做出了回答并对于C的string库进行了讲解最后我们给出字符串的不同表达形式。 开发环境 VS2022 一.字符串常量跟字符串变量 1.1字符串常量 字符常量是什么呢顾名思义就是一段已经在内存中确定下来的字符串并且这块内存中的字符串无法改变。 例如ABC、ASD233、sdasd16..等等都是字符串常量。 在C中使用 #includeiostream using namespace std;int main() {cout abc 是一个字符串常量 endl; //abc是一个字符串常量 } 1.2字符串变量 对于字符串变量在C中有三种实现方式“数组”、“指针变量”、“string类对象”。 数组 #includeiostream using namespace std;int main() {char eg1[10] abc; //直接初始化char eg2[10]; //后面通过输入初始化cin eg2; //此处输入defcout eg1 endl; //abccout eg2 endl; //def } 运行结果 指针变量 #includeiostream using namespace std;int main() {char eg1[10] abc; //数组char *eg2 eg1; //指针变量cout eg1 endl; //abccout eg2 endl; //abc } 运行结果 string类对象 #includeiostream #includestring using namespace std;int main() {string s1 123; //利用“”来初始化string s2(456); //利用“()”来初始化和上面本质一样string s3 s1; //利用“string”类对象来初始化string s4(s2); //和上面本质一样char eg[10] abc;string s5 eg; //利用“eg数组”来初始化cout s1 endl; //123cout s2 endl; //456cout s3 endl; //123cout s4 endl; //456cout s5 endl; //abc } 运行结果 二.字符串的读取 为方便起见后续的所有字符串都将以string类对象的形式进行讲解。 2.1cin函数 没啥好说的最简单也是最开始学习到的读取函数可以读取字符串遇到“空格”、“回车”、“Tab”等制表格符号结束读取。 ps“不会读取空格空格并不会被存储” 例如 #includestring using namespace std;int main() {string s;cin s; //在这里输入ABCcout s endl; //输出ABCcin s; //在这里输入A B Ccout s endl; //输出A } 运行结果 2.2getline()函数 getline函数相对于cin函数最大的区别在于“getline可以读取空格遇到回车才结束” getline()函数格式 getline(cin,变量名) 例如 #includeiostream #includestring using namespace std;int main() {string s;getline(cin, s); //这里输入A B C Dcout s endl; //输出A B C D } 运行结果 2.3cin.getline()函数 cin.getline()函数可以理解为是getline()函数的“超集”。 getline函数读取的是“string流字符串流”。 而cin.getline函数读取的是“iostream流输入输出信息流”。 cin.getline函数遇到“空格”也会读取不过跟getline函数最大的区别是“cin.getline()”函数可以指定读取的字符个数 cin.getline()函数格式 cin.getline(变量名,读取字符的个数,结束字符) 其中前两个参数必须有第三个参数可以没有默认为\0 PS:cin.getline()函数只能给数组形式的字符串使用,而getline()函数只能给string类对象形式的字符串使用 例如 #includeiostream #includestring using namespace std;int main() {char s[10];cin.getline(s,3); //输入ABCDcout s endl; //输出AB,原因在于最后一个字符存储了\0因此把C挤掉了。 } 运行结果 getline()和cin.getline()错误示例 #includeiostream #includestring using namespace std;int main() {char eg1[10];string eg2;cin.getline(eg2, 5); //报错,cin.getline()函数只能给数组形式字符串使用getline(eg1); //报错,getline()函数只能给string类对象形式字符串使用 } 三.string类对象的操作 3.1string类对象字符串拼接、比较操作 、、、、、!、等符号在string类对象中都是允许的具体规则如下 被用于两个字符串对象相加首尾拼接 #includeiostream #includestring using namespace std;int main() {string s1 ABC;string s2 DEF;cout s1 s2 endl; //输出ABCDEF } 、! 被用于比较两个字符串是否相等(区分大小写、区分位置) #includeiostream #includestring using namespace std;int main() {string s1 ABC;string s2 ABC;string s3 abc;string s4 CBA;if(s1 s2)cout s1,s2两个相等 endl;elsecout s1,s2两个不相等 endl;//输出相等if(s1 s3)cout s1,s3两个相等 endl;elsecout s1,s3两个不相等 endl;//输出不相等if(s1 s4)cout s1,s4两个相等 endl;elsecout s1,s4两个不相等 endl;//输出不相等 } 运行结果 !被用来比较两个字符串是否“不相等”区分位置、区分大小写 道理和上面的一样在这里就不赘述了。 、、、: 这四个符号用来给字符串进行大小比较(依照字典序进行比较) 字典序 a b … z A B C … Z #includeiostream #includestring using namespace std;int main() {string s1 aB;string s2 AB;if (s1 s2)cout s1s2 endl;elsecout s1s2 endl;//输出s1s2 } ps“按照字典序从第一个位置开始挨个比较” 例如“bA”大于“Ba”那是因为b在第一个位置并且大于B尽管后面的A小于a但那是第二个位置了。 “位置的优先级 字典序的优先级” 3.2string类对象常见函数 #includeiostream #includestring using namespace std;int main() {string s ABC;cout s.empty() endl; //判断s是否为空,为空返回Ture(1),不为空返回False(0)cout s.length() endl; //计算s的字符串长度cout s.size() endl; //同上cout s[2] endl; //跟字符数组一样,利用下标索引访问字符串中某个字符cout s[3] endl; //空字符也是存在的,这里就输出空字符\0//运行结果//033C\0,其实这个空字符在cmd命令控制窗口中就是一个空白. } 运行结果 3.3修改string类对象的操作 3.3.1insert函数-插入 s.insert(pos,k) 在字符串s下标索引pos之前插入字符串k。 #includeiostream #includestring using namespace std;int main() {string s ABC;s.insert(2, 66);cout s endl; //输出AB66C } 3.3.2erase函数-删除 erase(pos,len) 删除从 pos 开始的 len 个字符(包括位置pos)。如果 len 省略则删除 pos 开始的后面所有字符。 #includeiostream #includestring using namespace std;int main() {string s ABCDEF;s.erase(2, 2);cout s endl; //输出ABEF } 3.3.3replace函数-替换 s.replace(start,len,rp) 将字符串s中下标索引start开始共len个字符替换为字符串rp。 其中,删除的字符数量可以和要替换的字符串rp的长度不一致。 #includeiostream #includestring using namespace std;int main() {string s ABCD;s.replace(1, 2, 6666);cout s endl; //输出A6666D } 3.3.4find函数-查找 s.find(st) 在字符串s中查找字符串st第一次出现的位置返回下标索引。 #includeiostream #includestring using namespace std;int main() {string s ABCDEFAB;cout s.find(AB) endl; //输出0 } 3.3.5rfind函数-查找 s.rfind(st) 在字符串s中查找字符串st最后一次出现的位置返回下标索引。 #includeiostream #includestring using namespace std;int main() {string s ABCDEFAB;cout s.rfind(AB) endl; //输出6 } 3.3.6reverse函数-反转字符串 s.reverse(start,end) 将字符串s下标索引[start,end]之间的字符串反转 #includeiostream #includestring using namespace std;int main() {string s ABCDEF;reverse(s.begin(), s.end());cout s endl; //FEFCBA } 3.3.7substr函数-截取字符串 s.substr(pos,len) 将字符串s从下标索引pos开始连续截取len个长度的字符串。 #includeiostream #includestring using namespace std;int main() {string s ABCDEF;string ss s.substr(1, 3);cout ss endl; //BCD }
- 上一篇: 网站开发大概多久广州网络营销的推广
- 下一篇: 网站开发大体流程图wordpress安装遇到FTP
相关文章
-
网站开发大概多久广州网络营销的推广
网站开发大概多久广州网络营销的推广
- 技术栈
- 2026年03月21日
-
网站开发搭建仿造网站用侵权吗
网站开发搭建仿造网站用侵权吗
- 技术栈
- 2026年03月21日
-
网站开发搭建seo优化报告
网站开发搭建seo优化报告
- 技术栈
- 2026年03月21日
-
网站开发大体流程图wordpress安装遇到FTP
网站开发大体流程图wordpress安装遇到FTP
- 技术栈
- 2026年03月21日
-
网站开发大体流程图wordpress没有登录按钮
网站开发大体流程图wordpress没有登录按钮
- 技术栈
- 2026年03月21日
-
网站开发大约多少钱网页版云游戏
网站开发大约多少钱网页版云游戏
- 技术栈
- 2026年03月21日
