21xrx.com
2024-09-20 00:24:59 Friday
登录
文章检索 我的文章 写文章
C++中如何将字符串转换为数组
2023-07-01 17:12:54 深夜i     --     --
C++ 字符串 转换 数组

在C++中,字符串和数组是两种不同的数据类型,但有时我们需要将字符串转换成数组,以便对字符串进行更灵活的操作。那么,该如何实现字符串到数组的转换呢?

在C++中,可以使用以下两种方式实现字符串到数组的转换:

1. 使用字符数组

字符数组是由一系列字符组成的数据结构,可以用来表示字符串,同时也可用来表示数组。因此,可以通过将字符串复制到字符数组中,来实现将字符串转换成数组的目的。以下是一段代码示例:


#include <iostream>

#include <cstring>

using namespace std;

int main()

{

  char str[20] = "Hello, world!";

  char arr[20];

  strcpy(arr, str);

  for(int i = 0 ; i < strlen(arr); i++)

  {

    cout << arr[i] << " ";

  }

  return 0;

}

代码中,我们定义了一个字符串 str,一个字符数组 arr,并使用 strcpy 将字符串 str 中的字符复制到字符数组 arr 中。最后,使用 for 循环打印字符数组 arr 中的每一个元素。输出结果为:


H e l l o ,  w o r l d !

可以看到,字符串 str 已经成功转换成了字符数组 arr。

2. 使用 stringstream

C++中,stringstream是一个字符串流对象,可以像流一样读入和输出字符串。通过将字符串输入到 stringstream 对象中,并利用循环将数据从 stringstream 对象中读入到数组中,即可将字符串转换成数组。以下是代码示例:


#include <iostream>

#include <sstream>

#include <string>

using namespace std;

int main(){

  string str = "1, 2, 3, 4, 5";

  stringstream s(str);

  int arr[5];

  char c;

  for (int i = 0; i < 5; i++){

    s >> arr[i] >> c;

    cout << arr[i] << " ";

  }

}

输出结果为:


1 2 3 4 5

代码中,我们将字符串 str 输入到 stringstream 对象 s 中,并利用循环将 s 中的数据输入到数组 arr 中,每次读取后使用空格分隔。循环中的第一行代码将从 stringstream 对象 s 中读取一个整数并赋值给数组 arr 中的一个元素,第二行代码读取空格并忽略。最后,使用 for 循环打印数组 arr 中的每一个元素。

在C++中,以上两种方式均可实现将字符串转换成数组的功能。需根据自己的需要选择不同的方式来实现。

  
  

评论区

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