C++ 中的 String 类 at() 函数


摘要

本简短教程概述了 C++ String 类 at() 函数的功能,用于访问字符串中的一系列字符。在接下来的部分中,有抱负的读者可以通过字符串类编程示例来深入了解 at() 函数的操作。

字符串类

在编程术语中,字符串通常用双引号表示,包含字符集合。字符串类也是一个容器类,可以使用迭代器运算符 [] 遍历其所有字符。此外,字符串类处理与内存和空终止符相关的所有操作。任何人都可以通过利用其基本函数执行大量与字符串相关的操作,包括比较、复制、连接、搜索、排序等等,其中一个重要的函数 at() 用于从字符串的特定位置提取字符。

String.at() 方法

String 类的 at() 方法旨在访问驻留在字符串中的特定字符。它会自动评估 pos 是否是给定字符串中字符的有效位置,否则,它会抛出“out_of_range”异常。语法用法如下:

语法

char& at (size_type id);
const char& at (size_t pos) const;

以下 C++ 程序结构显示了 String 类 at() 方法的用法,其中程序首先确定输入字符串的长度,然后 at() 方法从给定位置检索给定字符串中的特定字符,如下所示:

示例

 在线演示

#include <iostream>
using namespace std;
void retrieveChar(string str){
   char chr;
   // Calculating the length of string
   int len = str.length();
   // retrieving characters
   for (int i = 0; i < len; i++) {
      chr = str.at(i);
      cout << chr << " ";
   }
}
int main(){
   retrieveChar("ajaykumar");
   return 0;
}

如上代码所示,所有字符串操作代码都打包在 retrieveChar() 方法中,稍后该方法调用传递到程序 main() 执行。在 example.CPP 文件成功编译后,它会产生以下输出,其中输入字符串中的字符通过 String 类方法 at() 依次访问,如下所示:

a j a y k u m a r

安全提示

来自各种来源的字符串输入对于安全专家来说是特殊关注的问题,因为它公然提供了一种手段,可以通过诉诸外部恶意输出和特殊的黑帽黑客策略来更改程序的默认行为和输出。黑客经常利用字符串表示漏洞中的弱点,对程序造成致命损害。因此,强烈建议在程序中确保采取适当的与字符串相关的措施和指南,以避免任何威胁。

结论

因此,我们深入探讨了字符串类及其核心方法 at() 以及在上述代码片段中以顺序方式访问字符串中字符的用法语法。最后,我们对与字符串相关的漏洞和弱表示进行了表面了解,这些漏洞和弱表示通常会导致缓冲区溢出、跨站点脚本、格式字符串、规范化以及许多其他著名的错误。

更新于: 2019年11月29日

493 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.