C++ STL string 基本用法

一、 初始化

    string s1="i love you";
    string s2(s1);  //把s2初始化为s1的一个副本,注意不能写成string s2; s2(s1);
    string s3("value");  //将s3初始化一个字符串面值副本
    string s4(6,‘s‘);   //将s4初始化为字符‘s‘的10个副本
    /*注意字符串面值与标准库string不是同一个类型*/
    cout<<s1<<endl;
    cout<<s2<<endl;
    cout<<s3<<endl;
    cout<<s4<<endl;

结果

二、输入

    string s6;
    getline(cin,s6);//输入带有空格的字符串,测试“ hello world ”
    cout<<s6<<endl;  cout<<"------------------------------"<<endl;
    string s5;
    cin>>s5;//输入不带空格的字符串 “ hello world ”测试,发现只读取有效字符到遇到空格结束
    cout<<s5<<endl;
    //故意把s5和s6倒过来,如果先用cin输入s5,再用getline(cin,s6)会有问题。

结果

三、访问字符

    cout<<s1.at(13)<<endl;//at函数提供范围检查,当越界时会抛出out_of_range异常,
    cout<<s1[13]<<endl;//下标运算符[]不提供检查访问。

四、特性描述

1.判断是否为空

s1.empty()

2.长度

  string s1="12345678";  cout<<s1.length()<<endl;//.length()和.size()没区别,用哪个都行  cout<<s1.size()<<endl;//size()代表它是个容器,length()体现它是字符串

3.重新定义它的长度(多去少补)

    string s1="12345678";
    cout<<s1<<endl;
    cout<<s1.size()<<endl;//.length()和.size()没区别,用哪个都行
    s1.resize(4);//多去
    cout<<s1<<endl;
    cout<<s1.size()<<endl;
    s1.resize(6,‘x‘);//少补,不写第二个参数也可以
    cout<<s1<<endl;
    cout<<s1.size()<<endl;
时间: 2024-10-14 20:57:00

C++ STL string 基本用法的相关文章

STL string常用用法

(1).string转换char const char *p = string.c_str(); (2).char 转换成string string str(char *); (3).int capacity()const; //返回当前容量(即string中不必增加内存即可存放的元素个数)(4).int max_size()const; //返回string对象中可存放的最大字符串的长度(5)int size()const; //返回当前字符串的大小(6).int length()const;

stl string 的用法

1:string对象的定义和初始化以及读写 string s1;      默认构造函数,s1为空串 string s2(s1);   将s2初始化为s1的一个副本 string s3("valuee");   将s3初始化一个字符串面值副本 string s4(n,'c');   将s4 初始化为字符'c'的n个副本 cin>>s5;  读取有效字符到遇到空格 getline(cin,s6);  读取字符到遇到换行,空格可读入,知道‘\n’结束(练习在下一个代码中), g

C++ STL(一)string的用法

# 1.string的用法- string在<iostream>的头中就有,但是还是得用<string>的头 ##### 构造函数- str(const char* ch) 直接赋值- str(size_t n,char ch) 赋值n个ch字符- str(char* ch,size_t n) 取ch指针的前n位- str(string& str,size_t index,size_t length) 从index开始取length位- str(string& st

stl string 容器的使用

string 是基本的字符串序列容器,对应数据结构中的串,和vector<char>也类似,但功能更多 string 容器的使用 1,string 的构造函数是. string() 2,string的添加函数,.   insert(),push_back() 3,string的遍历.      数组形式遍历,迭代器形式遍历 4,string的字符串替换  replace() 5,string 的字符搜索 find() 6,其他的常见函数 size(),length(),empty() #inc

深入剖析 linux GCC 4.4 的 STL string

转自: 深入剖析 linux GCC 4.4 的 STL string 本文通过研究STL源码来剖析C++中标准模板块库std::string运行机理,重点研究了其中的引用计数和Copy-On-Write技术. 平台:x86_64-redhat-linuxgcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) 1. 问题提出 最近在我们的项目当中,出现了两次与使用string相关的问题. 1.1. 问题1:新代码引入的Bug 前一段时间有一个老项目来

stl string 使用指定的分隔符分割成数个子字符串

#include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; void StringSplit(const string& str,vector<string>& vStr,const char& division) { int startPos = 0; int endPos = stri

C#中string.format用法详解 [转载]

这篇文章主要介绍了C#中string.format用法,以实例形式较为详细的讲述了string.format格式化的各种用法,非常具有实用价值,需要的朋友可以参考下 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.String.Format (String, Obj

STL的其他用法总结

2017-08-20 17:26:07 writer:pprp 1.adjacent_find() 下面是源码实现: template <class ForwardIterator> ForwardIterator adjacent_find (ForwardIterator first, ForwardIterator last) { if (first != last) { ForwardIterator next=first; ++next; while (next != last) {

String.Format用法

1.作为参数   名称 说明   Format(String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.   Format(String, array<>[]()[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项.   Format(IFormatProvider, String, array<>[]()[]) 将指定 String 中的格式项替换为指定数组中相应 Object