string对象的定义与操作

来源:互联网 发布:自学漫画绘画基础软件 编辑:程序博客网 时间:2024/05/21 09:52

   1.string 对象的定义

    四种初始化方式

string s1;

string s1(s2);

string s1("values");

string s1(n,'c');

 

string类型操作符与getline函数对空白字符的处理

区别:string忽略空白字符,并在遇到空白字符时停止读入,而getline函数将空白字符作为字符串的一部分,在遇到换行符时才停止读如

因此,string只能读取单个单词并输入,而getline函数可以读取整行文本

 

 

基本函数模块:

#include<iostream>
#include<string>
using namespace std;
int main()
{
   string word;
 // while( cin>>word)
   while(getline(cin,word))
    cout<<word<<endl;
   return 0;

}

 

2.string对象的操作

 基本操作:

 s.empty()              如果s为空串,则返回true,否则返回false

 s.size()                    返回s中字符的个数

 s.[n]                           返回s中位置为n的字符,位置从0开始计数

 s1+s2      s1=s2     比较操作符

 注:1.size()返回 为 string::size_type类型的值,s[n]操作中的n也是string::size_type型的,

          这是一种unsigned类型的整值。

        2.任何一个大写字母小与任义的小写字母

        3.字符串的连接, +操作符的左右操作数必须至少有一个为string类型的。

 

3.string 对象中字符的处理

cctype定義的函數
isalnum(c) 如果c是字母或數字,則為true,
isalpha(c) 如果c是字母,則為true.
iscntrl(c) 如果c是控制字符,則為true.
isdigit(c) 如果是數字,則為true.
isgraph(c) 如果c不是空格,但可打印,則為true.
islower(c) 如果c是小寫字母,則為true.
isprint(c) 如果c是可打印的字符,則為true.
ispunct(c) 如果c是標點符號,則為true.
isspace(c) 如果c是空白字符,則為true.
isupper(c) 如果c是大寫字母,則為true.
isxdigit(c) 如果c是十六進制數,則為true.
tolower(c) 如果c是大寫字母,則返回其小寫字母形式,否則直接返回c.
toupper(c) 如果c是小寫字母,則返回其大寫字母形式,否則直接返回c.