string-标准string类型

一、标准string类型

string 类型在<string>的一个库中定义,其定义包含在std命名空间内。所以使用必须包含以下语句:

    #include<string>  
    using  std::string;</span>

二、 string对象的定义及初始化

string标准库支持几个构造函数如下:

    string s1;//将s1初始化为空串   
    string s2(s1);//将s2初始化为s1  
    string s3("value");//将s3初始化为一个字符串面值的副本  
    string s4(n,‘c‘);//将s4初始化为字符‘c‘的n个副本

 、string对象的读写

    #include<iostream>  
    #include<string>  
  
    using namespace std;  
    int main()  
    {  
    string s;  
    while(cin>>s)  
    cout<<s<<endl;  
    return 0;  
    }

注释:

1.读取并忽略开头所有的空白字符(空格,换行,制表等);

2.读取字符直至再次遇到空白字符,读取终止;

3.string 的输入操作符也会返回所读数据流,因此可以用来作为判断条件。

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

注释:

1.getline接受两个参数:一个输入流对象和一个string对象;

2.getline并不忽略开头的空白字符,换行符等。只要getline遇到换行符,即便是第一个字符,getline会停止读取,string被置为空;

3.getline函数返回时丢弃换行符。

 、string对象的操作

s.empty();//若s为空,返回true,非空,返回false  
s.size();//返回s中字符的个数  
s[n];//返回s中位置为n的字符,位置从0开始计数  
s1+s2;//s1和s2连接成一个字符串,返回新的字符串  
s1=s2;//s1的内容替换为s2的副本  
s1==s2;//比较s1,s2的内容,相等返回true  
!=,<,<= ,>,>=  //都保持为操作符惯有的含义

注释:可以采用处理简单类型的值相似的方式处理string类型。size()函数的返回值似乎是整形值,但事实上,size操作返回的是string::size_type类型,这是为了适用于不同的机器。因此不要把size的返回值赋给一个int变量。

 、string对象的字符的处理

经常要对string对象中的单个字符串进行处理,判断是否为空格,是否为字母等,cctype提供一系列非常好用的函数。

isalnum(c);//c为数字或字符,返回true  
isalpha(c);//c为字母,返回true  
iscntrl(c);//c为控制字符,返回true  
isdigit(c);//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为大写,则返回小写形式,否则直接返回大写  
toupper(c);//c为小写,则返回大写形式,否则直接返回小写

注释:C++标准库除了定义一些特定于C++的设施外,还定义了C标准库。C标准头文件命名格式为  name.h,而C++为cname。一般来说,cname和name.h 内容是一样的,但特别的,cname中定义的名字都在命名空间std内,而name.h的名字却不是,所以,尽量采用cname这种形式的头文件。

时间: 2024-11-11 03:12:51

string-标准string类型的相关文章

【C++ Primer每日一刷之五】标准库类型小结

标准库类型小结 C++ 标准库定义了几种更高级的抽象数据类型,包括 string 和 vector 类型.string 类型提供了变长的字符串,而 vector 类型则可用于管理同一类型 的对象集合.迭代器实现了对存储于容器中对象的间接访问.迭代器可以用于访问和遍历 string 类型和vectors 类型的元素.下一节将介绍 C++ 的内置数据类型:数组和指针.这两种类型提供了类似于 vector 和 string 标准库类型的低级抽象类型.总的来说,相对于C++ 内置数据类型的数组和指针而言

3.2 标准库类型string(上)

#include <string> #include <iostream> using std::string; using std::cin; using std::cout; using std::endl; //string定义在命名空间std中 int main() { /**************3.2.1 定义和初始化string*****************/ string s1; //默认初始化,S1是一个空字符串 string S2 = s1; //S2时S

C++标准库类型string

string类表示可变长字符序列,包含在头文件string中,作为标准库的一部分string定义在std命名空间中 1.初始化string对象 std::string s1;//默认初始化s1是个空字符 std::string s2 = s1;//s2是s1的副本 std::string s3 = "hello";//s3是该字符串字面值的副本 std::string s4(10,'h');s4的内容是hhhhhhhhhh 直接初始化和拷贝初始化 初始化时用到=号的就是拷贝初始化,其在

C++ Primer 学习笔记_6_标准库类型 -- 命名空间using与string类型

 标准库类型(一) --命名空间using与string类型 引: 标准库类型是语言组成部分中更基本的哪些数据类型(如:数组.指针)的抽象! C++标准库定义的是高级的抽象数据类型: 1.高级:因为其中反映了更复杂的概念: 2.抽象:因为我们在使用时不需要关心他们是如何表示的,我们只需要知道这些抽象数据类型支持哪些操作就可以了. 正文: 一.命名空间的using声明 1. using std::cin; ::运算符的作用含义是右操作数的名字可以在左操作数的作用域中找到. 格式: [cpp]

谈谈两种标准库类型---string和vector

两种最重要的标准库---string和vector string和vector是两种最重要的标准库类型,string表示可变长的字符序列,vector存放的是某种给定类型对象的可变长序列. 一.标准库类型string   1.定义和初始化string对象:初始化string对象的方式有 string s1   默认初始化,s1是一个空串   string s2(s1)   s2是s1的副本 string s2=s1   等价于s2(s1),s2是s1的副本 string s3("value&qu

Convert integer to string(int类型转化为string类型)

译: 这是一个常见的问题,但是对于这个问题我没有找到一个很好的方法:如何将整数类型转化为字符串类型?我遇到过几种解决方案.我不会使用stringstream.sprintf()函数也遇到了问题,并且它是C语言的风格.函数itoa()以前工作地很好,但参考文档说: 这个函数在ANSI-C中没有被定义,并且它不是C++的一部分,但有些编译器支持 并且这个函数也是C语言风格. 我自己写了一个C++风格的函数,并且它工作起来没有错误(译者注:我不这么认为,详见后文). string convertInt

C++ - string类型转换int类型

string类型转换int类型 本文地址: http://blog.csdn.net/caroline_wendy C语言转换形式: ... std::string str; int i = atoi(str.c_str()); ... C++转换形式(C++11): ... std::string str; int i = std::stoi(str); ... 同样, 可以使用 stol(long), stof(float), stod(double) 等. 参考: http://en.cp

【String与基本类型之间的转换】以及【进制转换】

1. 基本数据类型---->字符串类型: 方法一:使用连接一个空字符串,例如  基本数据类型+“” : 方法二:静态方法 String.valueOf(),具体有: String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串 String.valueOf(char c) : 将 char 变量 c 转换成字符串 String.valueOf(char[] data) : 将 char 数组 data 转换成字符串 String.valueOf(char[]

java中int,char,string三种类型的相互转换

如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将字串 String 转换成Integer ? Integer integer=Integer.valueOf(str); 如何将整数 int 转换成字串 String ? 1.) String s = String.valueOf(i); 2.) String s = Integer.toStrin

C++ String和其他类型互换

在C++中如何实现String和其他类型互换呢?最好的方式是使用stringstream,下面简单介绍下: 1.其他类型转换为String #include <sstream> stringstream sstr; string s1; s1.append("string "); sstr << 12; //sstr >> s1; //这样的结果是把原来string的值冲掉了 s1 += sstr.str(); //这样不会改变原来的值 sstr.c