C ++ char数组转换为字符串

C ++ char数组转换为字符串

“Char”数据类型或字符数据类型用于存储字母,而非存储在整数和浮点数或布尔值中的数字和整数。

字符是整数类型,其大小为1字节,可打印字符是(空格),!,“,#,$,%,&,',(,)*,+,, - ,。/,0,1,2,3,4,5,6,7,8,9,:;,<,=,>,?,@,A,a,B,b,Cc,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 ++为我们提供了将char数组转换为字符串的以下技术:

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

使用“c_str()”和“strcpy()”函数的语法如下:

"string-name.c_str();".

使用c_str()将字符串的内容转换为C风格的非终止字符串。它直接访问内部字符串缓冲区。

我们可以使用’for’循环将字符转换为字符串 –

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

代码

#include <iostream>
using namespace std;
int main() 
{
    char char_array[] = {'J','A','V','A','T','P','O','I','N','T'};
    int array_size = sizeof(char_array) /
    sizeof(char);
    string j = "";
    int i;
    for(i = 0; i < array_size; i++)
   {
    /** retrieving and merging the value of character array on position 'i'*/  
    j = j + char_array[i];
    }
    cout << j <<endl;
} 

输出:

C ++ char数组转换为字符串

我们可以使用 ‘while’ 循环将字符转换为字符串 –

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

代码

#include <iostream>
using namespace std;
int main() 
{
    char char_array[] = {'J','A','V','A','T','P','O','I','N','T'};
    int array_size = sizeof(char_array) / sizeof(char);
    string j = "";
    int i = 0;
    while(i < array_size)
  {
        /**retrieving and merging the value of character array on position `i`*/
        j = j + char_array[i];
        i++;
    }
    cout << j <<endl;
}

输出结果:

C ++ char数组转换为字符串

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

代码

#include <iostream> 
using namespace std;
int main()
{
char char_array[] = {'J','A','V','A','T','P','O','I','N','T'};
string j(char_array);
cout << j <<endl;
}

输出:

C ++ char数组转换为字符串

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

代码

#include <iostream>
  using namespace std;
   int main()
{
   char char_array[] = {'J','A','V','A','T','P','O','I','N','T'};
   string j = char_array;
   cout << j <<endl; 
}  

输出:

C ++ char数组转换为字符串

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

代码

#include <iostream>
using namespace std;
string charToString(char* arr_char, int arr_size)
{
 int i;
 string j = "";
  for(i = 0; i < arr_size; i++)
  {
  j = j + arr_char[i];
  }
   return j;
}
  int main() {
    char char_array[] = {'J','A','V','A','T','P','O','I','N','T'};
    int array_size = sizeof(char_array) / sizeof(char);
     string jtp = "";
    jtp = charToString(char_array, array_size);
    cout << jtp <<endl;
    return 0;
}

输出:

C ++ char数组转换为字符串

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

代码

#include <iostream>
#include <sstream>
int main()
{   
    char char_array[] = {'J','A','V','A','T','P','O','I','N','T'};
    std::string jtp;
    std::stringstream strStream;
    strStream << char_array;
    strStream >> jtp;
    std::cout << jtp;
    return 0;
}

输出:

C ++ char数组转换为字符串

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程