21xrx.com
2025-03-30 23:22:59 Sunday
文章检索 我的文章 写文章
将C++字符串转换为字符数组
2023-07-04 19:14:23 深夜i     35     0
C++字符串 字符数组 转换

在C++编程中,字符串类型是非常常见的数据类型。然而,在某些情况下,我们需要将字符串转化为字符数组,以便于字符数组在函数之间传递和处理。下面将介绍如何将C++字符串转换为字符数组。

方法一:使用c_str()函数

C++中的std::string类型提供了一种将字符串转换为字符数组的方法,即使用c_str()函数。c_str()函数返回一个指向字符数组(即C风格字符串)的指针,可以将其存储在一个字符数组中。

下面是一个示例程序:

#include <iostream>
#include <string>
using namespace std;
int main()
{
  string str = "Hello World!";
  const char *charArray = str.c_str();
  cout << charArray << endl;
  return 0;
}

在这个程序中,我们将一个字符串存储在一个std::string类型的变量str中。然后,我们使用c_str()函数将其转换为一个C风格的字符数组,即const char *类型的指针charArray。

在输出语句中,我们直接输出charArray指向的字符数组内容,结果为“Hello World!”。

方法二:使用strcpy()函数

另一种将字符串转换为字符数组的方法是使用strcpy()函数,该函数将C风格字符串从源字符串复制到目标字符数组中。

下面是一个示例程序:

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
  string str = "Hello World!";
  char charArray[20];
  strcpy(charArray, str.c_str());
  cout << charArray << endl;
  return 0;
}

在这个程序中,我们还是将一个字符串存储在std::string类型的变量str中。然后,我们使用c_str()函数将其转换为C风格的字符数组,并将其复制到charArray字符数组中。注意,在使用strcpy()函数前应该先定义目标字符数组的大小。

在输出语句中,我们输出charArray指向的字符数组内容,结果也为“Hello World!”。

综上所述,使用c_str()函数和strcpy()函数都可以将C++字符串转换为字符数组。然而,需要注意的是字符数组需要正确的大小和结尾字符'\0'。

  
  

评论区

请求出错了