C++ 将 std::string 转换为 char*
参考:
C++ 将 std::string 转换为 char*
目前没有直接进行转换的方法。必须通过string对象的c_str()
方法,获取C-style的字符串:
std::string str = "string";
const char *cstr = str.c_str();
注意,该方法返回的类型为const char *
,不能直接修改返回的C-style字符串,若需要修改则必须先拷贝该字符串:
std::string str = "string";
char *cstr = new char[str.length() + 1];
strcpy(cstr, str.c_str());
// 对cstr的处理
delete [] cstr;
另一种方法是将string转换得到的C-style的字符串存储于vector中:
std::vector<char> cstr(str.c_str(), str.c_str()+str.size()+1);
2018.7.2
C++ 将 std::string 转换为 char*的更多相关文章
- C++不存在从std::string转换为LPCWSTR的适当函数
LPCWSTR是什么类型呢? 看看如何定义的: typedef const wchar_t* LPCWSTR; 顾名思义就是: LPCWSTR是一个指向unicode编码字符串的32位指针,所指向字符 ...
- 高德地图引入库错误std::string::find_first_of(char const*, unsigned long, unsigned long) const"
一:std:编译器错误解决 二:错误提示 "std::string::find_first_of(char const*, unsigned long, unsigned long) con ...
- std::string与char*之临时缓冲区
std::string与char*之临时缓冲区 原文:https://blog.csdn.net/hsshh1988/article/details/80689330 c++文件读取流程如下: ifs ...
- C++ std::unordered_map使用std::string和char *作key对比
最近在给自己的服务器框架加上统计信息,其中一项就是统计创建的对象数,以及当前还存在的对象数,那么自然以对象名字作key.但写着写着,忽然纠结是用std::string还是const char *作ke ...
- 托管C++中System::String^ 转换为 char*
https://docs.microsoft.com/en-us/cpp/dotnet/how-to-convert-system-string-to-standard-string?view=vs- ...
- C++中string转换为char*类型返回后乱码问题
问题来源: 在写二叉树序列化与反序列化时发现序列化函数为char* Serialize1(TreeNode *root) 其函数返回类型为char*,但是我在实现的过程中为了更方便的操作添加字符串使 ...
- C++Builder RAD Studio XE, UTF-8 String 转换为 char * 字符串的最简单方式, 常用于sqlite3开发
前段时间突然使用sqlite3开发,中间需要用中文,XE的缺省char*直接使用中文,在sqlite *.db3的数据库表格中显示是乱码,用数据库管理器来浏览等管理时非常不便. 于是决定还是使用utf ...
- QString, Std::string, char *相互转换
Qt 库中对字符串类型进行了封装,QString 类提供了所有字符串操作方法,给开发带来了便利. 由于第三方库的类型基本上都是标准的类型,即使用std::string或char *来表示字符 (串) ...
- c++ string类型转换为char *类型
string 是c++标准库里面其中一个,封装了对字符串的操作 把string转换为char* 有3中方法: 1.data 如: string str="abc"; char *p ...
随机推荐
- jquery的设计亮点
jquery的亮点我目前学习到一下几点: 1.封装库利用window的挂载实现闭包. 库一定要封装来防止变量污染全局,方式要么对象,要么立即执行函数.jquery用了立即执行函数.因为立即执行函数里的 ...
- missing python bz2 module
import bz2 ImportError: No module named bz2 一般是手动编译python时,编译的机器上环境不全面导致的依赖库不完整. 需要安装bzip库,使用如下命令: s ...
- android从IIS/asp.net下载apk文件
解决步骤: 1.web.config中 <configuration> <configSections> ... <section name="rewr ...
- Kali2安装完成后的设置
1.安装中文输入法 vim /etc/apt/sources.list 全部删除,改为国内源 #中科大 deb http://mirrors.ustc.edu.cn/kali kali-rolling ...
- 使用APScheduler启动Django服务时自动运行脚本(可设置定时运行)
Django搭建的服务器一般都用作WEB网站进行访问,通常的形式是用户访问网站或点击按钮发送请求,Django检测到请求后进行相应的试图函数处理后返回页面给用户. 但是,我们有时会需要有一些后台自动运 ...
- 官方Canvas API文档
https://developer.mozilla.org/zh-CN/docs/Web/API/Canvas_API
- DAX/PowerBI系列 - 库存总价值(Inventory Value)
DAX/PowerBI系列 - 库存总价值(Inventory Value) 欢迎交流与骚扰 难度: ★★☆☆☆(2星) 适用: ★★☆☆☆(2星) 概况: 有多少货(库存)当然重要(对于运营人员), ...
- stl string的erase方法
; i < s.size(); i++) { ') { s.erase(i,); i--; } } 删除string中的所有0.
- Asp.net Core认证和授权:JWT认证和授权
JWT验证一般用户移动端,因为它不像cookie验证那样,没有授权跳转到登陆页面 JWT是json web token的简称,在 jwt.io 网址可以看到 新建一个API项目,通过postman ...
- SystemParametersInfo调置壁纸、屏幕保护程序
应用SystemParametersInfo函数可以获取和设置数量众多的windows系统参数.这个小程序就是运用了SystemParametersInfo函数来设置桌面的墙纸,而且程序可以让我们选择 ...