21xrx.com
2024-11-05 16:28:12 Tuesday
登录
文章检索 我的文章 写文章
C++字符串复制的方法
2023-06-28 22:56:14 深夜i     --     --
C++ 字符串 复制 方法

C++是一种高级编程语言,其在字符串处理方面有着非常强大的功能,其中之一是字符串复制。字符串复制在实际编程中非常常用,本文将介绍几种C++字符串复制的方法。

1. strcpy函数

strcpy函数是C++标准库中的字符串复制函数,其功能是将一个字符串复制到另一个字符串中。其原型为:

char* strcpy(char* dest, const char* src);

其中,dest是目标字符串,src是源字符串。该函数会将源字符串复制到目标字符串中,返回值为目标字符串的开始地址。

使用示例:

#include

#include

using namespace std;

int main() {

  char str1[20] = "Hello, world!";

  char str2[20];

  strcpy(str2, str1);

  cout << "str1: " << str1 << endl;

  cout << "str2: " << str2 << endl;

  return 0;

}

输出结果:

str1: Hello, world!

str2: Hello, world!

2. strncpy函数

strncpy函数与strcpy函数类似,其功能是将源字符串复制到目标字符串中,不同的是,该函数还需要指定要复制的字符数。其原型为:

char* strncpy(char* dest, const char* src, size_t n);

其中,dest是目标字符串,src是源字符串,n是要复制的字符数。如果源字符串的长度小于n,则会在目标字符串的剩余部分填充空字符。如果源字符串的长度大于等于n,则只会复制前n个字符,而不会复制源字符串的末尾空字符。

使用示例:

#include

#include

using namespace std;

int main() {

  char str1[20] = "Hello, world!";

  char str2[20] = "";

  strncpy(str2, str1, 5);

  cout << "str1: " << str1 << endl;

  cout << "str2: " << str2 << endl;

  return 0;

}

输出结果:

str1: Hello, world!

str2: Hello

3. memcpy函数

memcpy函数是C++标准库中的一个函数,其功能是将一个字符数组的内容复制到另一个字符数组中。其原型为:

void* memcpy(void* dest, const void* src, size_t n);

其中,dest是目标字符数组的指针,src是源字符数组的指针,n是要复制的字节数。该函数会将源字符数组的前n个字节复制到目标字符数组中。

使用示例:

#include

#include

using namespace std;

int main() {

  char str1[20] = "Hello, world!";

  char str2[20] = "";

  memcpy(str2, str1, 7);

  cout << "str1: " << str1 << endl;

  cout << "str2: " << str2 << endl;

  return 0;

}

输出结果:

str1: Hello, world!

str2: Hello, w

总结

以上是C++中字符串复制的几种常用方法,除此之外还有其他的方法,如strdup函数、strncat函数等。选择哪种方法需要根据具体情况来定。在使用字符串复制函数时需要注意,目标字符串的长度要足够长,以防止发生缓冲区溢出的问题。

  
  
下一篇: 非JavaScript对象

评论区

{{item['qq_nickname']}}
()
回复
回复