字母串类型string的初始化,操作,读写和单个字符操作

本文介绍了C++中字符串(string)对象的定义、初始化、相关操作以及读写方法。包括不同初始化方式、输出输入操作、大小及空检查、连接与复制、比较操作等。此外,还讲解了如何处理单个字符,如转换大小写,并提供了读取整行的示例。
部署运行你感兴趣的模型镜像

1.定义和初始化string对象。

    string s1 = "abcdefg";  //初始化方式1  
    string s2("abcdefg");   //初始化方式2  
    string s3 = s2;         //通过拷贝构造函数 初始化s3  
    string s4(7,'s');       //初始化7个s的字符串

        string不能定义指针,用迭代器。

2.string的相关操作。

        os<<s              将s写入输出流os中,返回os

        is>>s                将s写入输出流is中,返回is

        getline(is,s)     从is中读取一行赋给s,返回is

        s.empty()         是否为空

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

        s[n]                   返回s中第n个字符的引用

        s1+s2               链接s1和s2

        s1=s2               复制

        s1==s2              判断相等(还有!=; <; >; >=; <=等)顺序比较。

3.字符串读写

       1). string s;

        cin>>s;        //读入字符串给s,遇到空白停止。

       2). string word;

        while(cin>>word)        //反复读取(word不断更新)直到文件末尾

        cout<<word<<endl;         //输出,换行

       3). getline(cin,s1);        //读取一整行到s1中

4.字符串可与字符串字面值相加

        string s1=s+"s";        //但是+两必须有一个是string

5.处理string对象中的单个字符

        1). 需要用到cctype头文件(这是属于C语言标准库文件,常以cname命名,从属于命名空间std),尽量不要用name.h。这个库里有识别空格、回车符的函数

        2). 想对string中单个对象操作,使用for(range for)语句,遍历序列中的每个元素并操作。

 例:string str=”some string";

        for (auto c:str){ cout<<c<<endl; };        //输出单个字符并换行

        for (auto &c:str){ toupper(c) };        //将str的小写转大写,引用改变。

      3).   还可采用下标(索引)访问,例s[0]。

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### C++ 中 `std::string` 的基本用法 在现代 C++ 编程中,`std::string` 是处理文本数据最常用的方式之一。此类型位于标准模板库 (STL) 内[^1]。 #### 创建字符串对象 可以使用多种方式初始化 `std::string` 对象: ```cpp #include <string> // 默认构造函数创建空 std::string s1; // 通过常量字符数组来构建 const char* cstr = "hello"; std::string s2(cstr); // 复制另一个已存在的 std::string 实例 std::string s3(s2); ``` #### 字符串操作方法 ##### 追加内容 利用成员函数 `append()` 或者运算符 `+=` 可向现有字符串追加新内容: ```cpp s1.append(" world"); // 添加单词到末尾 s1 += "!"; // 同样效果, 更简洁语法 ``` ##### 访问单个字符 可以通过下标索引来获取特定位置上的字符;注意越界访问可能导致未定义行为: ```cpp char ch = s2[0]; // 获取第一个字母 'h' if(ch != '\0') { // do something... } ``` ##### 查找子 调用 `find()` 方法可以在源字符串里搜索指定模式的位置; 如果找不到则返回 npos 值(-1): ```cpp size_t pos = s2.find("lo"); if(pos != std::string::npos){ // 找到了匹配项 } ``` ##### 替换部分文本 替换某一段范围内的字符序列非常简单直观: ```cpp s2.replace(3, 2, "pp"); // 将第四个起始两个字符替换成 pp ``` #### 输入输出流支持 可以直接将 `std::string` I/O 流关联起来方便地读写文件或控制台输入输出: ```cpp std::cout << s2 << "\n"; // 输出至屏幕终端 std::cin >> s3; // 接收用户键盘输入赋给变量 s3 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值