📜  C++ string.copy()函数(1)

📅  最后修改于: 2023-12-03 14:59:47.361000             🧑  作者: Mango

C++ string.copy() 函数

简介

C++ 中的 string.copy() 函数用于从一个字符串中复制字符到另一个字符串。这个函数位于 C++ 标准库的 string 类中,提供了一种简单的方法来复制字符串的子集或整个字符串。

语法

下面是 string.copy() 函数的语法:

string copy (char* s, size_t len, size_t pos = 0) const;
  • s:指向要复制到的目标字符数组的指针。
  • len:要复制的字符数。
  • pos:要复制的源字符串中的起始位置。
返回值

函数根据复制操作的结果返回一个新的 string 对象。

示例
#include <iostream>
#include <string>

int main() {
  std::string src = "Hello, world!";
  char dest[10];
  
  src.copy(dest, 5, 7);  // 从位置 7 复制 5 个字符到 dest 中
  dest[5] = '\0';        // 手动添加字符串结束符
  
  std::string destString(dest);
  
  // 输出结果为 "world"
  std::cout << destString << std::endl;
  
  return 0;
}

在上面的示例中,源字符串是 "Hello, world!",我们使用了 string.copy() 函数在位置 7 复制了 5 个字符到目标字符数组 dest 中。然后,我们手动添加了字符串结束符 '\0' 并创建了一个新的 string 对象。

注意事项
  • 目标字符数组必须足够大以容纳要复制的字符。否则会发生数组越界错误。
  • 如果要复制的字符数超过源字符串的长度或剩余字符数,则只会复制源字符串剩余的字符。
  • 如果未指定 pos 参数,默认从源字符串的起始位置复制。
总结

使用 C++ 的 string.copy() 函数可以方便地实现字符串的复制。该函数提供了灵活的参数设置,可以复制字符串的子集或整个字符串,并返回一个新的 string 对象。在使用时注意目标字符数组的大小,并根据实际需求设置复制的字符数和起始位置。