C++ 字符数组转字符串

17 Mar 2025 | 4 分钟阅读

"Char"数据类型或字符数据类型用于存储字母,与存储在整数和浮点数或布尔值中的数字和整数不同。

字符本质上是整数类型,它们的大小是1字节,可打印字符有(空格)、!、"、#、$、%、&、'、(、)、*、+、、-、.、/、0、1、2、3、4、5、6、7、8、9、:、;、<、=、>、?、@、A、a、B、b、C、c、D、d、E、e、F、f、G、g、H、h、I、i、J、j、K、k、L、l、M、m、N、n、O、o、P、p、Q、q、R、r、S、s、T、t、U、u、V、v、W、w、X、x、Y、y、Z、z、[、\、]、^、_、`、{、|、}、~和DEL(删除)。

我们可以使用以下方式初始化char变量:

char ch2{ 'a' }; 用于打印字符“a”。

char ch1{ 97 }; 用于打印代码97处的值。

char ch{'5'}; 用于打印数字字符“5”。

C++提供了以下技术将字符数组转换为字符串:

  • 使用'c_str()'和'strcpy()'函数
  • 使用'for'循环
  • 'while'循环,
  • 字符串类中的 '=' 运算符
  • 使用自定义函数。

使用'c_str()'和'strcpy()'函数的语法如下所示:

其中,c_str()将字符串内容转换为C风格的、非终止字符串。它提供对内部字符串缓冲区的直接访问。

我们可以通过'for'循环将字符转换为字符串,方法是:

首先,声明字符数组并分配数组大小。然后,我们声明两个变量,一个字符串类型,另一个整数类型。之后,我们可以使用'for'循环,将0赋值给整数变量,其中整数变量的值将小于array_size,并且我们在每次迭代中将整数变量的值增加1。我们必须在每次迭代中将值存储在字符串变量中,然后再显示字符串变量。

代码:-

输出

Char array to string in C++

我们可以通过'while'循环将char转换为字符串,方法是:

首先声明字符数组,然后分配数组大小。然后,我们声明两个变量,一个字符串类型,另一个整数类型,值为0。我们使用'while'循环在每次迭代中检查整数变量是否小于array_size,并将值存储在字符串变量中,然后显示字符串变量。

代码:-

输出

Char array to string in C++

要使用 std::string 构造函数将字符转换为字符串,我们只需将数组传递给字符串构造函数。

代码:-

输出

Char array to string in C++

要使用“=”运算符和字符串类将字符数组转换为字符串,我们必须将字符数组传递给字符串变量。

代码:-

输出

Char array to string in C++

要使用自定义函数将字符转换为字符串,我们必须创建一个带有两个参数的自定义函数。在自定义函数内部,我们必须声明两个变量:字符串和整数。然后我们使用'for'循环,其中我们将0赋给一个整数变量,整数变量的大小小于array_size,并且整数变量的值在每次迭代中增加1。函数将返回字符串。对于主函数,我们声明字符数组及其大小,然后将字符数组及其大小传递给自定义函数。最后,我们打印存储自定义函数返回值的字符串变量。

代码 -

输出

Char array to string in C++

将char转换为字符串的最后一种方法是使用 std::stringstream。我们使用此函数将输入字符插入缓冲区,然后使用 std::string 从缓冲区中取出字符作为字符串。

代码 -

输出

Char array to string in C++