21xrx.com
2025-03-28 20:23:58 Friday
文章检索 我的文章 写文章
C++中string和char之间的相互转换
2023-07-09 03:09:55 深夜i     11     0
C++ string char 转换 相互

C++是一种高级编程语言,支持许多数据类型。在C++中,string和char是两种常用的数据类型,它们在编程中经常会相互转换。本文将介绍C++中string和char之间的相互转换方法。

将string转换为char数组

当我们需要将string类型的变量转换为char类型的数组时,最简单的方法是使用string的c_str()函数。该函数将string类型转换为char类型的指针,可以使用strcpy函数将其拷贝到char数组中。下面是一个示例代码:

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
  string str = "Hello World";
  char char_arr[str.length() + 1];
  strcpy(char_arr, str.c_str());
  cout << "String converted to char[] : " << char_arr << endl;
  return 0;
}

在上面的代码中,我们先定义了一个string类型的变量str,并初始化它为“Hello World”。然后,我们创建了一个char类型的数组char_arr,它的长度等于str的长度加一,这是因为字符串以Null字符('\0')结尾。最后,我们使用strcpy函数将str转换为char数组char_arr,并输出结果。

将char数组转换为string

在C++中,我们可以将char数组转换为string类型的变量。这可以通过将char数组传递给string的构造函数来实现。下面是一个示例代码:

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
  char char_arr[] = "Hello World";
  string str(char_arr);
  cout << "char[] converted to String : " << str << endl;
  return 0;
}

在上面的代码中,我们首先定义了一个char类型的数组char_arr,并将其初始化为“Hello World”。然后,我们使用string的构造函数将其转换为string类型的变量,并输出结果。

结论

在C++中,string和char类型的数据相互转换是很常见的。我们可以使用string的c_str()函数将其转换为char类型的指针,并使用strcpy函数将其拷贝到char数组中。我们也可以将char数组传递给string的构造函数来创建string类型的变量。这两种方法都很简单易用,可以满足我们在编程中的需求。

  
  

评论区

请求出错了