对string对象的操作,对string对象中字符的操作:
2016-10-23 10:41
204 查看
对string对象的操作:
//1 编写一段程序从标准输入中一次读入一整行//2 修改该程序使其一次读入一个词
//为什么要用到getline()函数,因为在程序输入时难免会遇到输入一个空字符,但我又想让其把这个空字符输出来
//这就要用到getline函数,因为输出流cout遇到空字符就会返回
//getline()函数中形参是一个输入流和一个string对象,将输入流读的内容给string对象
//只要getline遇到一换行符就返回结果
/*#include<iostream>
#include<string>
using namespace std;
int main()
{
string ass;
while (getline(cin, ass))
{
cout << ass << endl;
}
return 0;
}
*/
/*#include<iostream>
#include<string>
using namespace std;
int main()
{
string bss;
while (cin >> bss)//输入流cin当输入string对象时,遇到空字符则立刻返回结果
{
cout << bss << endl;
}
return 0;
}*/
//编写一段程序读入两个字符串,比较其是否相等并输出结果,若不相等输出较大的那个字符串
//对string对象中的字符串进行比较,可以直接使用 > 或者 < 号,也可以通过size()函数取得每个字符串的字符长度进行比较
#include<iostream>
#include<string>
using namespace std;
int main()
{
string css, dss;
cin >> css;
cin >> dss;
if (css == dss)
{
cout << css << endl;
}
else
{
if (css > dss)
//if (css.size() > dss.size())
cout << css << endl;
else
cout << dss << endl;
}
return 0;
}
对string对象中的字符进行操作:
处理string对象中的每个字符:
//当我们需要处理string对象中的每个字符时,如判断是否含有空字符或者大小写字母//通常处理每个字符使用基于范围的for语句,这种语句遍历给定序列中的每个元素,并对序列中的每个元素执行某种操作
//其语法是:for (declaration : expression) 其中expression 是一个对象。表示一个string序列,declaration是定义了一个变量
// statement 用于访问该序列中的元素,declaration的变量会被初始化为expression对象的下一个元素值
//使用范围的for语句把string对象中的字符每行一个输出出来
string ess("helloworld");
for (auto c : ess)//使用auto关键字是让编译器来决定变量c的类型
cout << c << endl;
//使用范围的for语句把string对象中的符号个数打印出来
string fss("hello world!!!");
//int s = 0;
decltype(fss.size()) f = 0;//此处的意思就是使用decltype关键字,变量f的类型名是接收fss.size()函数的返回类型
for (auto c : fss)
{
if (ispunct(c))
++f;
cout << "包含的标点符号数为:" << f << endl;
}
//可以使用for语句改变字符串中的字符
//要想改变字符串中字符的内容,要把循环变量定义为引用类型
string gss("c++ primer");
for (auto &c : gss)//对gss作引用,从c是对gss的引用
{
c = toupper(c);//改变c也就是改变gss的值
cout << gss << endl;
}
只处理string对象中的一部分字符:
//当我们想对string对象中的一部分字符做处理,就最好用到下标运算符([])//将string对象中的第一个字符变为大写字母
string hss("i am surperman");
if (hss.size())
{
s.[0] = toupper(s[0]);
cout << hss << ensl;
}
相关文章推荐
- 一个char类型的字符赋给一个string对象时不会发生装箱操作
- 适用于string对象的字符操作函数
- string对象与字符数组互操作
- string对象的操作
- java字符串String的操作
- js javascript 判断字符串是否包含某字符串,String对象中查找子字符
- Jersey使用总结一(jersey初步使用和简单post请求几种参数传递,String方式,不含对象操作)
- java String常用操作以及比较用String与StringBuffer追加字符的执行效率【修订2】
- 不同IE版本下,字符对象某些操作不同
- 使用迭代器寻找和删除 string 对象中所有的大写字符。
- string对象中字符的处理函数
- 关于一道J笔试或者机试题的Java实现:从键盘输入一串字符,翻转后输出(要求不使用string相关类即对象)
- string对象与数值转换 串流操作 stringstream学习
- C# String操作(字符重复出现,截取字符,连接字符)
- js javascript 判断字符串是否包含某字符串,String对象中查找子字符,indexOf
- string对象中字符的处理
- C++ 字符(char)与字符串(string)操作
- C/C++ 中的一些字符操作函数(不是std::string)
- StringUtils 方法的操作对象是 java.lang.String 类型的对象
- Java I/O 技术(三)—— 操作 字符流 的对象