C++ string and vector(一)

 

C++定义了一个内容中丰富的抽象数据类型库,string和vector是两种最重要的标准类型,前者定义了可变长字符串,后者则表示可变长的集合,还有一种标准库类型是迭代器,它是string 和 vector的配套类型,常用于访问string中的字符或vector中的元素


#include <iostream>
#include <string>
using namespace std;

void main()
{
	string s;
	cin >> s;
	cout << s << endl;

	string s2(2,'dd');
	cout << s2 << endl;

	string s3 = s + s2;
	cout << s3 << s3.size() << endl;

	if (!s3.empty())
	{
		cout << "s3不空!" << endl;
	}
	else
	{
		cout << "s3为空!" << endl;
	}

	cout << s2[0] << endl;
	system("pause");
}

结果:

gui
gui
dd
guidd5
s3不空!
d


读取未知数量的string数量

#include <iostream>
#include <string>
using namespace std;

void main()
{
	string word;
	while (cin >> word)
	{
		cout << word << endl;
	}
	system("pause");
}

结果:

wodingdong
wodingdong
dinbulongdong
dinbulongdong
深圳大学
深圳大学
computer
computer


使用getline读取一整行

#include <iostream>
#include <string>
using namespace std;

void main()
{
	string line;
	while (getline(cin,line))
	{
		cout << line << endl;
	}
	system("pause");
}

结果

叶落归根夺
叶落归根夺
金卡时间地方
金卡时间地方


虽
虽

处理string一部分字符

    处理string的字符,比如检查一个字符string对象中是否包含空白,或者把string对象字母改小写

#include <iostream>
#include <string>
#include <cctype>
using namespace std;

void main()
{
	string s = "wo#, Bdong1234";
	if (isalpha(s[0]))
	{
		cout <<s[0]<< " is a alpha" << endl;
	}

	if (isalnum(s[10]))
	{
		cout << s[10] << "is a alnum" << endl;
	}

	if (iscntrl(s[2]))
	{
		cout << s[2] << "is a control " << endl;
	}
	else
	{
		cout << s[2] << "is not a control" << endl;
	}
	
	if (islower(s[2]))
	{
		cout << s[2] << "is a lower" << endl;
	}
	else
	{
		cout << s[2] << "is not a lower" << endl;
	}
	system("pause");
}



你可能感兴趣的:(C++ string and vector(一))