六千字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

相关文章
|
5月前
|
C语言 C++
【实战指南】 C/C++ 枚举转字符串实现
本文介绍了在C/C++中实现枚举转字符串的实用技巧,通过宏定义与统一管理枚举名,提升代码调试效率并减少维护错误。
377 57
|
搜索推荐 编译器 C语言
【C++核心】特殊的元素集合-数组与字符串详解
这篇文章详细讲解了C++中数组和字符串的基本概念、操作和应用,包括一维数组、二维数组的定义和使用,以及C风格字符串和C++字符串类的对比。
346 5
|
9月前
|
IDE 编译器 项目管理
Dev-C++保姆级安装教程:Win10/Win11环境配置+避坑指南(附下载验证)
Dev-C++ 是一款专为 Windows 系统设计的轻量级 C/C++ 集成开发环境(IDE),内置 MinGW 编译器与调试器,支持代码高亮、项目管理等功能。4.9.9 版本作为经典稳定版,适合初学者和教学使用。本文详细介绍其安装流程、配置方法、功能验证及常见问题解决,同时提供进阶技巧和扩展学习资源,帮助用户快速上手并高效开发。
|
10月前
|
消息中间件 Linux C++
c++ linux通过实现独立进程之间的通信和传递字符串 demo
的进程间通信机制,适用于父子进程之间的数据传输。希望本文能帮助您更好地理解和应用Linux管道,提升开发效率。 在实际开发中,除了管道,还可以根据具体需求选择消息队列、共享内存、套接字等其他进程间通信方
291 16
|
算法 数据挖掘 Shell
「毅硕|生信教程」 micromamba:mamba的C++实现,超越conda
还在为生信软件的安装配置而烦恼?micromamba(micromamba是mamba包管理器的小型版本,采用C++实现,具有mamba的核心功能,且体积更小,可以脱离conda独立运行,更易于部署)帮你解决!
561 1
|
存储 C++
c++的指针完整教程
本文提供了一个全面的C++指针教程,包括指针的声明与初始化、访问指针指向的值、指针运算、指针与函数的关系、动态内存分配,以及不同类型指针(如一级指针、二级指针、整型指针、字符指针、数组指针、函数指针、成员指针、void指针)的介绍,还提到了不同位数机器上指针大小的差异。
479 1
|
Linux C语言 C++
vsCode远程执行c和c++代码并操控linux服务器完整教程
这篇文章提供了一个完整的教程,介绍如何在Visual Studio Code中配置和使用插件来远程执行C和C++代码,并操控Linux服务器,包括安装VSCode、安装插件、配置插件、配置编译工具、升级glibc和编写代码进行调试的步骤。
2791 0
vsCode远程执行c和c++代码并操控linux服务器完整教程
|
缓存 网络协议 API
C/C++ StringToAddress(字符串转 boost::asio::ip::address)
通过上述步骤和示例代码,你可以轻松地在C++项目中实现从字符串到 `boost::asio::ip::address`的转换,从而充分利用Boost.Asio库进行网络编程。
387 0
|
编译器 C语言 C++
C/C++数字与字符串互相转换
C/C++数字与字符串互相转换
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具