首页 > 编程语言 >C++中char*与string转换

C++中char*与string转换

时间:2023-02-02 16:14:14浏览次数:56  
标签:string cout C++ char strcpy str size

(1)char*转换为string:直接赋值即可

    char a[1024]="abcdefg";
    string mm=a;

(2)求char*(不包含\0)以及string的长度:strlen()函数

cout<<"a.size:"<<strlen(a)<<endl;

(3) string转化为char*
参考文献

注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针

比如:最好不要这样:
char* c;
string s=“1234”;
c = s.c_str(); //c最后指向的内容是垃圾,因为s对象被析构,其内容被处理

应该这样用:
string s=“12345”;//本质是"12345\0"
char c[6];//注意:这里如果是用c[5]的话,会出现内存问题,最少是string.size()+1,
strcpy(c,s.c_str());

注意:strcpy现在可能会用不了,比如visual studio 2015,可以用strcpy_s
完整代码

int main()
{
    char a[1024]="abcdefg";
    string mm=a;
    cout<<"a.size: "<<strlen(a)<<endl;

    char b[1024];
    strcpy(b,mm.c_str());

    printf("b is %s\n",b);
    cout<<"b.size: "<<strlen(b)<<endl;
}

执行结果

a.size: 7
b is abcdefg
b.size: 7

 

标签:string,cout,C++,char,strcpy,str,size
From: https://www.cnblogs.com/lidabo/p/17086333.html

相关文章

  • 接口测试|Charles的界面介绍
    Charles的界面介绍在发送网络请求的时候,charles工具界面会展示所有发送的请求数据包,如下图展示,本篇文章会对此界面逐一进行介绍。快捷图标:快捷图标从左至右依次为:扫把按钮:......
  • 接口测试|Charles证书的设置(抓HTTPS数据包)&SSL证书过期解决办法
    Charles证书的设置&SSL证书一年后过期解决办法Charles开启就可以直接开始抓取HTTP请求,需要抓取HTTPS请求时,则需要先安装证书,再进行抓取。设置证书抓取HTTPS的数据打开charle......
  • 将char* 赋值给std::string的一些陷阱
    这段时间,总是要使用char或者char*赋值给std::string,踩了不少坑。于是写了个测试代码,如果你不想看我的代码,可以跳到下面直接看总结:   #include<string> ......
  • c++内置类型
    内置类型,由编译器规定,不在任何头文件中,分为三种主要类型:整型、浮点型和void。void类型void主要用于声明无返回值的函数、声明指向任意类型化数据的指针或用于以下类型的......
  • Webots下载安装 + Pycharm联调
    第一章Webots安装目录第一章Webots安装前言一、Webots是什么?二、WebotsR2022b安装1.下载2.安装3.Pycharm作为IDE3.1设置环境变量3.2Webots设置总结前言本系列......
  • 【八大数据排序法】插入排序法的图形理解和案例实现 | C++
    第十六章插入排序法:::hljs-center目录第十六章插入排序法●前言●认识算法●一、插入排序法是什么?1.简要介绍2.图形理解3.算法分析●二、案例实现1.......
  • gdb 打印出错行 Find Where a C++ Exception is Thrown
    https://www.digitalpeer.com/blog/find-where-a-cpp-exception-is-thrownHere'sasimpleexampleofhowtofindwhereaC++exceptionisthrownusinggdb.There's......
  • C++性能优化 —— __builtin_prefetch()
    C++性能优化——__builtin_prefetch()数据预读References__builtin_prefetch()Prefetchingwith__builtin_prefetchDataPrefetch数据预取一、什么是__builtin......
  • C/C++图书借阅管理系统[2023-02-02]
    C/C++图书借阅管理系统[2023-02-02]十、图书借阅管理系统图书信息包括:图书名称、图书编号、单价、作者、存在状态、借书证号、姓名、性别。提供以下功能:1.新进图书基......
  • 在使用cn.hutool.poi.excel,读取数据读不出String的问题
    今天想用cn.hutool.poi.excel包读取Excel数据,就一列数据,我本想用ExcelReader的readAll方法,并传入参数设置类的类型=String.class,发现没有读出数据且没有报错。经过一路翻......