标准库类型string

来源:互联网 发布:世界局势知乎 编辑:程序博客网 时间:2024/06/04 18:07
using声明命名空间。注意的是头文件中不应该包含using声明,因为在引用头文件时,会将头文件中的内容拷贝到文件中来,如果头文件中包含了using声明,那么可能每一个头文件中都会包含using声明,可能会造成名字的冲突。
读入一整行和读入一个词主要的差别可以用getline()函数来实现。对于string类的输入函数,它会自动忽略开头的空白(空格、制表符、换行等等),从第一个真正的字符开始直到下一个空白。而对于getline()函数,它会保存字符串中的空白符,它读入数据,直到遇到换行符位置。
#include <string>#include <iostream>void main(){using std::string;using std::cin;using std::cout;using std::endl;//获取一行字符串,并且只显示超过指定长度的行string line;//while (getline(cin, line))//{//if (line.size() > 2)//{//cout << line << endl;//}//}////每次读入一个词//string str;//while (cin >> str)//{//cout << str << endl;//}//读入多个字符串然后连接成大字符串,并用空格分开string str;while (getline(cin,str)){line += str + " ";cout << line << endl;}}

读入一个包含标点符号的字符串,将标点符号去除后输出字符串的剩余部分
#include <string>#include <iostream>void main(){using std::string;using std::cin;using std::cout;using std::endl;//读入一个包含标点符号的字符串,将标点符号去除后输出字符串的剩余部分//1、方法一string str2 = "Hello,Word!!!";string result;for (auto &c : str2){if (!ispunct(c))result += c;}cout << result << endl;//2、方法二string str3("Hello,Word!!!#@jdc");int num = str3.size();for (int i = 0; i<num; i++){if (!ispunct(str3[i]))cout << str3[i];}}