C++将一个char数组的一部分复制到另一个char数组

标签 c++

我正在尝试仅将字符串(或 char *)的一部分复制到另一个字符串(或另一个 char *)中

char * first_string = "Every morning I"
char * second_string = "go to the library, eat breakfast, swim."
char * final_string;

我想将第二个字符串的部分复制到第一个字符串中。

例如:

每天早上我都吃早餐。

允许您从字符串中的特定点开始仅复制字符串的一部分的函数是什么?

注意:我不想使用字符串变量,而是 char *,如果可能的话,甚至是 char 数组。

最佳答案

它是 std::copy,但是对于您的代码,它会导致未定义的行为,因为您有指向字符串文字的指针,修改这些文字是非法的。

你需要类似的东西

char first_string[256] = "Every morning I";
char second_string[256] = "go to the library, eat breakfast, swim.";

std::copy(
    &second_string[23],
    &second_string[36],
    &first_string[strlen(first_string)]
);

指数可能会关闭。

关于C++将一个char数组的一部分复制到另一个char数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13571032/

相关文章:

c++ - 从文件发出阅读空间

c++ - boost ptime : how to format data in a way browsers send inside headers of http requests?

c++ - YUV转RGB着色器边框神器

c++ - C++ 中的简单文本菜单

c++ - 类定义和初始化中的 static const int

c++ - 我应该通过右值引用返回一个右值引用参数吗?

c++ - C++ 方法调用中前导 "::"的目的是什么

c++ - 复制 vector - vector

c++ - 检查 char 数组的所有元素

c++ - 模板参数包 : How to create a Tuple of an independent type with same length