呜呜呜呜呜呜呜

👁‍🗨👁‍🗨\n\n前言\n\n标准库类型string 表示可变长的字符序列,使用string 类型必须首先包含string 头文件。string 定义在命名空间std 中。\n\n定义和初始化 string 对象\n\n首先说明如何初始化对象是由类本身决定的,一个类可以定义很多初始化对象的方式。\n例:\n初始化string对象的方式\n\nstring s1; //默认初始化 ,s1是一个空字符串\nstring s2=s1; // s2是s1的副本\nstring s2(s1); //s2是s1的副本\nstring s3=(“hello”); // s3是字符串hello字面值的副本,除了字面值最后的那个空字符外\nstring s3=“hello”; //s3是该字符串字面值的副本\nstring s4(n,‘c’); //把s5 初始化为由连续n个字符c组成的串\nstring s4(10,‘c’); // s4的内容是 cccccccccc\n\n直接初始化和拷贝初始化\n\n如果使用(=)初始化,实际是拷贝初始化,把=右侧的初始化值拷贝到新建的对象中去,\n不使用(=),是直接初始化。\n当初始化值为一个时用哪种方式都一样。但是当初始化要有多个值时,就要用到直接初始化了。\nstring s1 =“hello”; // 拷贝初始化\nstring s2 (“hello”); //直接初始化\nstring s3 (10,‘c’); // 直接初始化,s3的内容是cccccccccc\n\nstring的操作\n\nos\u003C\u003Cs\t将s写入到输出流os中,返回os\nis>>s\t从is中读取字符串赋给s,字符串以空白分隔,返回is\ngetline(is,s)\t从is中读取一行赋给s,返回is\ns.empty( )\ts为空返回 true, 否则返回 false\ns.size( )\t返回s中字符的个数\ns[n]\t返回s中第n个字符的引用,位置n从0计起\ns1+s2\t返回s1和s2连接后的结果\ns1=s2\t用s2的副本代替s1中原来的字符\ns1==s2\t如果s1和s2中所含的字符完全一样,则它们相等\n\u003C ,\u003C=, > ,>=\t利用字符在字典中的顺序进行比较,对字母的大小写敏感\n#include\u003Ciostream>\n#include \u003Cstdio.h>\nusing namespace std;\nint main()\n{\n\tstring s;\n\tcin >> s;\n\tcout \u003C\u003C s \u003C\u003C endl;\n\treturn 0;\n}\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n在执行读取操作时,string 对象会自动忽略开头的空白(空格符,换行符,制表符)并从第一个真正的字符开始读取,直到遇见下一处空白为止。\n\n多个输入输出可以连写在一起\n\n#include\u003Ciostream>\n#include \u003Cstdio.h>\nusing namespace std;\nint main()\n{\n\tstring s1,s2;\n\tcin >> s1>>s2;\n\tcout \u003C\u003C s1 \u003C\u003Cs2 \u003C\u003C endl;\n\treturn 0;\n}\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n用getline 读取一整行\n\n也就是保留输入时的空白字符,getline 函数的参数是一个输入流和一个string对象,函数从给定的输出流中读入内容,直到遇到换行符为止。(换行符也会被读进来)然后把所读的内容存入到string 对象中去(不存换行符)\ngetline 只要一遇到换行符,就会结束读取操作并返回结果。\n如果第一个字符就是换行符,那么所得的结果是个空string。\n\n两个string 对象相加\n\n两个string 对象相加会得到一个新的string对象,内容是把左侧的运算符对象与右侧的运算符对象串接而成,它所包含的字符由两部分组成: 前半部分是加号左侧string 对象所含的字符,后半部分是加号右侧string对象所含的字符。\n复合赋值运算符(+=)负责把右侧string 对象的内容追加到左侧 string 对象的后面\n\n#include\u003Ciostream>\n#include \u003Cstdio.h>\n\nusing namespace std;\nint main()\n{\n\tstring s1 = \"hello,\", s2 = \"world!\\n\";\n\tstring s3 = s1 + s2;\n\ts1 += s2;\n\tcout \u003C\u003C s3\u003C\u003C endl;\n\tcout \u003C\u003C s1 \u003C\u003C endl;\n\treturn 0;\n}\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\nhello,world!\n\nhello,world!\n\n\nD:\\VS\\test1 c++\\x64\\Debug\\test1 c++.exe (进程 14024)已退出,代码为 0。\n按任意键关闭此窗口. . .\n\n1\n2\n3\n4\n5\n6\n7\n8\n字面值和string对象相加\n\nstring s1 = \"hello,\", s2 = \"world!\\n\";\nstring s3 = s1 + s2;\nstring s4 = s1 + \";\";\n//正确:一个string对象,一个字面值\n\nstring s5= \"hi\" +\"hii\" ;\n// 错误:两个运算对象都不是string\n//字面值不能直接相加\n1\n2\n3\n4\n5\n6\n7\n8\nc++算法开发语言

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不做单选题

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值