标准库类型string

 

 

 

一,string

1.头文件<string>

定义:string是表示字符串的字符串

2.操作

一个简单代码

int main()
{
 string s1; // 构造空的string类对象s1 
 string s2("hello,world"); //使用C字符串构造
 string s3(10, 'a'); // 10个a构造对象
 string s4(s2); //拷贝构造
 string s5(s2, 9);//从s2对象下标为9的位置开始构造
 cout << s1.c_str() << endl;
 cout << s2.c_str() << endl;
 cout << s3.c_str() << endl;
 cout << s4.c_str() << endl;
 cout << s5.c_str() << endl;
 return 0;
}

å¨è¿éæå¥å¾çæè¿°

(1)定义和初始化string对象

string s1;默认初始化,s1是一个空串
string s2(s1);s2是s1的副本
string s2 = s1; 等价于s2(s1)
string s3("value");s3是字面值"value"的副本,除了最后那个空字符外
string s3 = "value";等价于s3("value");
string s4(n,'c');把s4初始化为由连续n个字符c组成的串

(2)string对象上的操作

os<<s将s写到输出流os当中,返回os
is>>s 从is中读取字符串赋给s,字符串以空白分隔,返回is
getline(is,s)从is中读取一行赋给s,返回is
s.empty() 为空返回true,否则返回false
s.size 返回s中字符的个数
s[n] 返回s中第n个字符的引用,位置n从0计起
s1+s2 返回s1和s2连接后的结果
s1=s2  用s2的副本代替s1中原来的值
s1+=s2追加,把s2的内容追加到s1后面
s.c—str()转换,c++转换成c,字符串转换成字符数组
s1==s2判断是否相等,字符完全一样则相等
<,<=,>,>=利用字符在字典中的顺序进行比较,区分大小写

 

(3)读写string对象

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s;
    cin>>s;
    cout<<s<<endl;
    return 0;
}

输入  abc

输出  abc

可以直接用输入输出流进行操作

(4)getline函数

功能:

从输入流中读入字符,存到string变量

直到出现以下情况为止:

•读入了文件结束标志

•读到一个新行

•达到字符串的最大长度

–如果getline没有读入字符,将返回false,可用于判断文件是否结束

int main()
{
    string line:
    while(getline(cin,line))
    cout<<line<<endl;
    return 0;
}

这是一个死循环程序

(5)处理string对象中的字符

函数名称 返回值
isalnum()如果参数是字母数字,即字母或者数字,函数返回true
isalpha() 如果参数是字母,函数返回true
iscntrl() 如果参数是控制字符,函数返回true
isdigit()如果参数是数字(0-9),函数返回true
isgraph()如果参数是除空格之外的打印字符,函数返回true
islower()如果参数是小写字母,函数返回true
isprint()如果参数是打印字符(包括空格),函数返回true
ispunct()如果参数是标点符号,函数返回true
isspace()如果参数是标准空白字符,如空格、换行符、水平或垂直制表符,函数返回true
isupper()如果参数是大写字母,函数返回true
isxdigit() 如果参数是十六进制数字,即0-9、a-f、A-F,函数返回true
tolower()如果参数是大写字符,返回其小写,否则返回该参数
toupper()如果参数是小写字符,返回其大写,否则返回该参数


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值