六千字C++字符串详细教程(下)

简介: 六千字C++字符串详细教程

访问字符串

访问字符串

您可以通过引用方括号内的索引号来访问字符串中的字符[]。这个例子打印的第一个字符中 的myString:

#include <iostream>
#include <string>
using namespace std;
int main() {
  string myString = "Hello boy";
  cout << myString[0];
  return 0;
}

演示:

1.png

注意:字符串索引从 0 开始:[0] 是第一个字符。[1] 是第二个字符,以此类推。

更改字符串字符

需要指定特定字符更换,例如更换H为J:

#include <iostream>
#include <string>
using namespace std;
int main() {
  string myString = "Hello boy";
  myString[0] = 'J';
  cout << myString;
  return 0;
}

演示:

1.png

用户输入字符串

可以使用提取运算符cin来显示用户输入的字符串。例如:

#include <iostream>
#include <string>
using namespace std;
int main() {
string firstName;
cout << "请输入你的性: ";
cin >> firstName; //从键盘获取用户输入 
cout << "你的性是: " << firstName;
}

演示:

1.png

但是,cin将空格(空格、制表符等)视为终止符,这意味着它只能显示一个单词(即使您键入多个单词):

#include <iostream>
#include <string>
using namespace std;
int main() {
string fullName;
cout << "请输入名字: ";
cin >> fullName;
cout << "你的名字叫做: " << fullName;
}

演示:

1.png

这就是为什么在处理字符串时,我们经常使用该getline() 函数来读取一行文本。它cin作为第一个参数,字符串变量作为第二个:

#include <iostream>
#include <string>
using namespace std;
int main() {
  string fullName;
  cout << "输入你的名字: ";
  getline (cin, fullName);
  cout << "你的名字叫做: " << fullName;
  return 0;
}

演示:1.png

省略命名空间

您可能会看到一些 C++ 程序在没有标准命名空间库的情况下运行。该using namespace std行可以省略并替换为std关键字,后跟::用于string(和cout)对象的运算符:

#include <iostream>
#include <string>
int main() {
  std::string greeting = "川川";
  std::cout << greeting;
  return 0;
}

演示:

1.png

相关文章
|
3月前
|
搜索推荐 编译器 C语言
【C++核心】特殊的元素集合-数组与字符串详解
这篇文章详细讲解了C++中数组和字符串的基本概念、操作和应用,包括一维数组、二维数组的定义和使用,以及C风格字符串和C++字符串类的对比。
93 4
|
2月前
|
算法 数据挖掘 Shell
「毅硕|生信教程」 micromamba:mamba的C++实现,超越conda
还在为生信软件的安装配置而烦恼?micromamba(micromamba是mamba包管理器的小型版本,采用C++实现,具有mamba的核心功能,且体积更小,可以脱离conda独立运行,更易于部署)帮你解决!
74 1
|
2月前
|
存储 C++
c++的指针完整教程
本文提供了一个全面的C++指针教程,包括指针的声明与初始化、访问指针指向的值、指针运算、指针与函数的关系、动态内存分配,以及不同类型指针(如一级指针、二级指针、整型指针、字符指针、数组指针、函数指针、成员指针、void指针)的介绍,还提到了不同位数机器上指针大小的差异。
56 1
|
2月前
|
Linux C语言 C++
vsCode远程执行c和c++代码并操控linux服务器完整教程
这篇文章提供了一个完整的教程,介绍如何在Visual Studio Code中配置和使用插件来远程执行C和C++代码,并操控Linux服务器,包括安装VSCode、安装插件、配置插件、配置编译工具、升级glibc和编写代码进行调试的步骤。
334 0
vsCode远程执行c和c++代码并操控linux服务器完整教程
|
2月前
|
缓存 网络协议 API
C/C++ StringToAddress(字符串转 boost::asio::ip::address)
通过上述步骤和示例代码,你可以轻松地在C++项目中实现从字符串到 `boost::asio::ip::address`的转换,从而充分利用Boost.Asio库进行网络编程。
72 0
|
2月前
|
编译器 C语言 C++
C/C++数字与字符串互相转换
C/C++数字与字符串互相转换
|
3月前
|
C++
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
|
3月前
|
存储 C++
C++(五)String 字符串类
本文档详细介绍了C++中的`string`类,包括定义、初始化、字符串比较及数值与字符串之间的转换方法。`string`类简化了字符串处理,提供了丰富的功能如字符串查找、比较、拼接和替换等。文档通过示例代码展示了如何使用这些功能,并介绍了如何将数值转换为字符串以及反之亦然的方法。此外,还展示了如何使用`string`数组存储和遍历多个字符串。
|
5月前
|
算法 C++
2730. 找到最长的半重复子字符串(c++,滑动窗口)
2730. 找到最长的半重复子字符串(c++,滑动窗口)
|
5月前
|
C++
567. 字符串的排列(c++)滑动窗口
567. 字符串的排列(c++)滑动窗口