[ozy/lcz][c++primer]标准库类型-string

读取未知数量的字符

一次从键盘读入一个字符

	string s1;
	while (cin >> s1)//反复读取word, 直到文件末尾
		cout << s1 << endl;//每一个单词结束就换行
	return 0;

LIKE NIKE HYPE COPO                                                                                                 运行结果:

注意: 反复读取   直到文件末尾. 言外之意, 你可以输入好几次.

(可以反复读取)

一次读入一行. 

使用getline代替<<, 一次读取一行, 直到遇到换行符(注意换行符号也读进去了), 然后把读进来的内容放在要输入的string里(注意换行符号没读入).

string s1;
while (getline(cin, s1))  //需要#include<string>
	if (!s1.empty())
		cout << s1 << endl;

读一次, 输出一次.

关于empty(), size_type;

size_type是无符号整型数, 不可以小于零.

#include<iostream>
using namespace std;
#include<string>
int main()
{
	string s1 = "asdfaf";
	auto len = s1.size();
	cout << len;

	if (len < -1)
		cout << "fsdfs";

	cout << typeid(len).name();

	len = -1;

	cout << len;
	
	return 0;
}

输出结果为:

-1 转换为最大的数字 18446744073709551615

len的类型为 unsigned int

len和-1的比较把-1当成最大的数字

	string ozy = "guangxi";
	string s1;//默认初始化
	s1 += ozy;
	cout << ozy;

	string s2;
	s2 = "guangxi" + ("tengxian" + ozy);
	s2 = "guangxi" + ozy + "tengxian";
	s2 = '1' + '2' + '2';
	s2 = "guangxi" + ozy;

字符字面值并不是string类型的对象, string对象和字符串字面值彼此相加时, 必须保证每个+两侧运算对象至少有一个是string.

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

青樱部_OFFICIAL

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

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

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

打赏作者

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

抵扣说明:

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

余额充值