标准库类型string

头文件


#include<string>
using namespace std; //string定义在命名空间std中

文档:string标准库

定义和初始化string对象


string是一个内部定义的类,初始化类对象的方式是通过类内部定义的构造方法决定的。下面列出几个string常用的初始化方式

    string s1;               //默认的初始化方式,s1是一个空串
    string s2(s1);           //s2是s1的副本,这里使用的是拷贝构造函数
    string s2 = s1;          //等价与s2(s1)
    string s3("value");      //s3是字面值“value”的副本,除了字面值最后的那个空字符外(编译器在每个字符串后面添加了一个“\0”这个空字符)
    string s3 = "value";     //等价于s3("value")
    string s4(n, 'c');       //把s4初始化为由连续n个字符c组成的串

string对象上的操作


string对像的读写和c++内置类型的读写是一样的,它可以使用通过标准库中的stringstream来读写string对象

string s;
cin>>s;         //将string对象读入s,遇到空白停止
cout<<s<<endl;;

如果我们希望保留输入的空白符,这是就应该使用getline函数代替原来的>>运算符,getline函数的参数是一个输入流和一string对象,函数从给定的输入流中读入内容,直到遇到换行符为止(注意换行符也被读进来了),然后把所读的内容存入到那个string对象中去(注意不存换行符)

    string s;
    cin >> s;
    cout <<  s << endl;    //使用>>每次只会读入一个单词,遇到空白符就停止流的读入
    string s;
    getline(cin, s);
    cout  << s;                 //使用getline是可以保留输入时的空白符,直到遇到换行符停止,虽然它会读入换行符,但是不会存到string对象中
    cout <<  endl;              //自己添加换行,endl的作用是结束当前行,并刷新显示缓冲区

c标准库string函数


在c++中可以使用C语言标准库提供的一组函数,需要加入的头文件:#include< cstring>

strlen(p)     返回p的长度,空白符不计算在内
strcmp(p1,p2) 比较p1和p2的相等性,如果p1==p2,返回0,如果p1>p2,返回正值,如果p1<p2,返回负值
strcat(p1,p2) 把p2附加到p1之后,返回p1;
strcpy(p1,p2) 将p2拷贝给p1,返回p1;

传入上述函数的指针必须指向以空字符结束的数组

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值