21xrx.com
2024-11-10 00:35:38 Sunday
登录
文章检索 我的文章 写文章
将C++字符串转换为字符数组
2023-07-04 19:14:23 深夜i     --     --
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'。

  
  

评论区

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