c 字符串数组_在C++中将字符串转换为char数组

30b2e1618eef82238fcf812dbe80feb7.png

我们许多人遇到了错误‘cannot convert std::string to char[] or char* data type’。

例如:

Input : string s = "geeksforgeeks" ;Output : char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o',                     'r', 'g', 'e', 'e', 'k', 's' } ;Input : string s = "coding" ;Output : char s[] = { 'c', 'o', 'd', 'i', 'n', 'g' } ;

一种方法是将字符串的内容复制到char数组。这可以借助c_str()和strcpy()函数来完成。

c_str()函数用于返回指向数组的指针,该数组包含以空终止的字符序列,该字符串表示字符串的当前值。

语法:

const char* c_str() const;

如果抛出异常,则字符串中没有任何变化。但是,当我们需要查找或访问各个元素时,可以使用strcpy()函数将其复制到char数组中。复制后,我们可以像使用简单数组一样使用它。

采用的char数组的长度不应小于输入字符串的长度。

// CPP program to convert string // to char array #include    using namespace std;   // driver code int main() {     // assigning value to string s     string s = "geeksforgeeks";       int n = s.length();       // declaring character array     char char_array[n + 1];       // copying the contents of the     // string to char array     strcpy(char_array, s.c_str());       for (int i = 0; i < n; i++)         cout << char_array[i];       return 0; } 

输出:

geeksforgeeks

另一种方法:

// CPP program to convert string // to char array #include  #include    using namespace std;   // driver code int main() {     // assigning value to string s     string s("geeksforgeeks");     // declaring character array : p     char p[s.length()];       int i;     for (i = 0; i < sizeof(p); i++) {         p[i] = s[i];         cout << p[i];     }     return 0; } 

输出:

geeksforgeeks

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无法打开虚拟机“Ubuntu2” (D:\software\Ubuntu2.vmx): 未找到文件。 是否从库中移除“Ubuntu2”?

1.关闭虚拟机并重启 2.删除ubuntu目录的.lck文件 3.关闭电脑防火墙 4.点击ubuntu目录下的.vmx文件直接运行

51C语言编译后执行到一半,“C语言” 读书札记之[再续编译执行]

介绍上一篇a.out(hello&#xff0c;world程序)执行之后发生了什么&#xff1f;这次通过系统硬件和操作做粗略的描述&#xff0c;这样对我们也是有一些帮助的。如果中间若有误&#xff0c;请不吝赐教。从键盘上读取a.out命令当我们打开我们的终端的时候&#xff0c;shell程序会执…

linux 安装mysql8_MySQL 8.0与MariaDB 10.4,谁更易于填坑补锅?

作者介绍贺春旸&#xff0c;凡普金科DBA团队负责人&#xff0c;《MySQL管理之道&#xff1a;性能调优、高可用与监控》第一、二版作者&#xff0c;曾任职于中国移动飞信、安卓机锋网。致力于MariaDB、MongoDB等开源技术的研究&#xff0c;主要负责数据库性能调优、监控和架构设…

acm竞赛2016c语言真题,C语言acm竞赛习题集锦.doc

C语言acm竞赛习题集锦.doc杭州电子科技大学 acm 习题精选 第 1 页 共 21 页 目录 1、 数塔问题 2 2、 并查集类问题 4 3、 递推类问题 9 4、 动态规划系列 10 5、 概率类题型 13 6、 组合数学类题型 15 7、 贪心策略 16 8、 几何问题 .19 杭州电子科技大学 acm 习题精选 第 2 页…

JAVA入门级教学之(文档里的is-a、is-like-a、has-a到底是什么意思)

1.is-a&#xff1a;【什么什么是】 描述的是一个继承关系 2.is-like-a&#xff1a;【什么什么像】 描述的是一个接口关系 3.has-a&#xff1a;【什么什么包含】 描述的是一个关联关系

c语言死循环中输入字符,如下代码,如果输入字符,为什么会造成死循环?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼上面代码有误&#xff0c;本来switch语句是接收int型的&#xff0c;有死循环&#xff1b;有人建议改成接收字符&#xff0c;上面没改完全&#xff0c;现在改完全了&#xff0c;但是会重复输出&#xff0c;输出如下*** ACME checkbo…

python 字符转义_2500字 字符串专题总结

我的完整施工计划已完成专题&#xff1a;1.我的施工计划2.数值专题这篇是字符串专题总结除了常见的数值型&#xff0c;字符串是另一种常遇到的类型。一般使用一对单引号或一对双引号表示一个字符串。字符串中如果遇到 \ 字符&#xff0c;可能是在做字符转义&#xff0c;所谓的转…

JAVA入门级教学之(异常机制的原理到底是什么)

* 1.异常是什么&#xff1f; * * 第一&#xff1a;异常模拟的是现实世界中"不正常的"事件 * * 第二&#xff1a;java中采用"类"的形式去模拟异常 * * 第三&#xff1a;类是可以创建对象的 * * 例如&#xff1…

python修改列表指定位置的_Python 基础教程—列表(1)

Python内置了多种序列&#xff0c;本次讨论&#xff1a;列表。列表是Python提供的容器型数据类型。可变并且有序。可变 - 列表中的每个元素的值可变&#xff0c;列表的长度可变&#xff0c;列表中的顺序可变。(支持增、删、改)有序 - 每个元素可以通过下标来确定位置1、 列表的…

JAVA入门级教学之(深入throws的异常抛出机制)

package com.lbj.javase23; import java.io.*;public class ExceptionTest04 {public static void main(String[] args) throws FileNotFoundException{//使用throws处理异常不是真正处理异常而是推卸责任&#xff0c;谁调用就上抛给谁//上面的m1方法如果出现了异常&#xff0c…

android 代码 shape,Android Shape控件美化实现代码

如果你对Android系统自带的UI控件感觉不够满意&#xff0c;可以尝试下自定义控件&#xff0c;我们就以Button为例&#xff0c;很早以前Android123就写到过Android Button按钮控件美化方法里面提到了xml的selector构造。当然除了使用drawable这样的图片外今天Android开发网谈下自…

操作系统之(一篇文章让你简单搞定:什么是进程和线程)

文章目录1.为什么引入进程2.进程究竟是什么&#xff1f;进程的定义和属性&#xff1a;3.进程的状态和转换4.什么是进程上下文5.进程的控制和管理6.为什么要引入线程7.线程的概念8.引入线程的好处9.进程和线程的区别1.为什么引入进程 1、我们知道&#xff0c;最早出现的OS系统是…

冒泡和快速排序的时间复杂度_八大排序算法性能分析及总结

一、排序算法说明排序的定义&#xff1a;对一个无序的序列进行排序的过程。输入&#xff1a;n个数&#xff1a;a1,a2,a3,…,an。输出&#xff1a;n个数的排列:a1,a2,a3,…,an&#xff0c;使得a1<a2<a3<…<an。排序的稳定性&#xff1a;相同值的节点相对位置是否会发…

同步android wear音乐,Android Wear首次更新:添加离线音乐 GPS功能等

凤凰科技讯 北京时间10月24日消息&#xff0c;据科技博客TechCrunch报道&#xff0c;Android Wear日前迎来了其发布后的首次大更新。谷歌为这一可穿戴设备的操作系统添加了离线音乐、蓝牙耳机以及GPS定位等功能。此次更新意味着&#xff0c;当你出去慢跑但将智能手表落在家里的…

JAVA入门级教学之(异常的处理try...catch)

* 处理异常的第二种方式&#xff1a;捕捉 try{}catch(){} * * 语法&#xff1a; * try{ * 可能出现异常的代码; * } * catch(异常类型1 变量){ * 处理异常的代码; * } * catch(异常类型2 变量…

docker 挂载目录_Docker容器数据管理

在Docker容器内部创建的文件默认存储在可写的容器层&#xff0c;容易产生几个问题:当容器不存在时&#xff0c;数据文件不能持久化&#xff0c;同时这些数据文件不方便在容器之外被其他进程使用。当容器运行的时候容器可写层严重依赖宿主机&#xff0c;不能轻易移动这些数据文件…

android 获取应用列表,获取全部应用列表

有时需对已安装的应用进行管理 &#xff0c; 这里我简单的写了获取应用程序列表。代码如下&#xff1a;package com.lml.applicationtest;import java.util.List;import android.app.Activity;import android.content.Context;import android.content.pm.PackageInfo;import an…

IndexNotReadyException: Please change caller according to com.intellij.openapi.project.IndexNotReady

打开AS有时会报这个错&#xff0c;之前没怎么在意&#xff0c;因为完全没影响&#xff0c;但是看起来标红就很难受&#xff0c;总觉得认真有强迫症的程序员才是好的程序员&#xff0c;所以特意查了解决办法&#xff0c;也很简单&#xff0c;就点击Files----->Invalidate and…

java数组有跨类建立对象_必会的 55 个 Java 性能优化细节!一网打尽!

程序员的成长之路互联网/程序员/成长/职场 关注阅读本文大概需要 10 分钟。来源&#xff1a;https://yq.aliyun.com/articles/662001在 Java 程序中&#xff0c;性能问题的大部分原因并不在于 Java 语言&#xff0c;而是程序本身。养成良好的编码习惯非常重要&#xff0c;能够显…

android平板截屏方法,Android 各种截屏方法

1 应用内截屏(无SurfaceView, TextureView)boolean cacheEnable captureView.isDrawingCacheEnabled();captureView.setDrawingCacheEnabled(true);captureView.buildDrawingCache();Bitmap bitmap captureView.getDrawingCache();cache[0] Bitmap.createBitmap(bitmap);cap…