21xrx.com
2024-11-22 07:23:18 Friday
登录
文章检索 我的文章 写文章
C++字符串转换为字符数组
2023-07-04 22:42:45 深夜i     --     --
C++ 字符串 转换 字符数组

在C++语言中,字符串和字符数组是两种不同的数据类型。字符串是由多个字符组成的序列,而字符数组是一种数据结构,用于存储大量字符。在实际编程中,有时需要将字符串转换为字符数组进行处理,本文将介绍在C++中实现此功能的方法。

将字符串转换为字符数组的方法

C++提供了许多函数和方法可以实现将字符串转换为字符数组。下面我们来分别介绍几种方法:

1.利用strcpy()函数

strcpy()函数可以将一个字符串复制到另一个字符数组中。通过将字符数组的指针作为strcpy()函数的参数,可以将字符串复制到该字符数组中。下面是代码示例:


#include<iostream>

#include<cstring>

using namespace std;

int main(){

  string s = "hello world";

  char ch[20];

  strcpy(ch,s.c_str());

  cout << ch << endl;

  return 0;

}

该程序利用strcpy()函数将字符串s复制到了字符数组ch中,并通过cout语句输出了字符数组ch的值。

2.利用迭代器

在C++中,迭代器是一种通用的概念,它可以遍历STL容器中的元素。在字符串中,也可以使用迭代器遍历每个字符,并将其存储在字符数组中。下面是代码示例:


#include<iostream>

#include<string>

using namespace std;

int main(){

  string s = "hello world";

  char ch[20];

  int i = 0;

  for(string::iterator it = s.begin(); it != s.end(); it++){

    ch[i++] = *it;

  }

  ch[i] = '\0';

  cout << ch << endl;

  return 0;

}

该程序利用迭代器将字符串s中的每个字符存储在了字符数组ch中,并最后将字符数组末尾赋值为'\0'。

3.利用stringstream

stringstream是C++中的一个标准库类,可以实现将字符串转换为其他类型的数据。将字符串转换为字符数组也可以通过stringstream来实现。下面是代码示例:


#include<iostream>

#include<sstream>

using namespace std;

int main(){

  string s = "hello world";

  char ch[20];

  stringstream ss(s);

  ss >> ch;

  cout << ch << endl;

  return 0;

}

该程序利用stringstream将字符串s的值存储在字符数组ch中,并通过cout语句输出了字符数组ch的值。

总结

本文介绍了在C++中将字符串转换为字符数组的三种方法。每种方法都有其优点和局限性,具体应该根据实际情况选择合适的方法来实现字符数组和字符串的转换。

  
  

评论区

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