char * 和string互转,陷阱:char*中包含较多的'\0'

原创 2018年04月17日 11:36:11
一般来说,char *和string能够比较容易的进行相互转换,
比如char *转换成string,可以直接转,如下:


-Cpp 代码
1
char *a = "abcdefg";
2
std::string b = a;


相对的,string转char *也是比较容易的,如下:




-Cpp 代码
查看代码
1
std::string s = "abcdefg";
2
s.c_str();


但在用的过程中,碰到过一个问题,利用char *读一个二进制文件,因为文件中不全是明文字符,可能有各种各样的字符,导致,有较多的‘\0',那么char *转string的时候,就少了部分字节。


解决:一个字节一个字节转。
版权声明: https://blog.csdn.net/b876144622/article/details/79972498

Android中的string资源占位符及Plurals string

Android中的string资源占位符及Plurals string
  • Gaugamela
  • Gaugamela
  • 2017-01-23 18:00:47
  • 3338

关于char字符的占位问题

java 中char当然是占2个字节,16位。 char在C和C+中占一个字节  Java中无论是汉字还是英文字母都是用Unicode编码来表示的,一个Unicode码是16位,每字节是8位,所...
  • wuxinliulei
  • wuxinliulei
  • 2013-08-27 19:14:31
  • 1236

关于string和pchar

Delphi 中字符串的操作很简单,但幕后情况却相当复杂。Pascal 传统的字符串操作方法与Windows 不同,Windows吸取了C语言的字符串操作方法。32位Delphi中增加了长字符串类型,...
  • lyf_lyf
  • lyf_lyf
  • 2015-05-26 00:02:38
  • 1641

替换占位符

请实现一个简单的字符串替换函数,原字符串需要替换的占位符为“%s”,请按照参数列表的顺序一一替换占位符,若参数列表的字符大于占位符个数,则将剩下的参数字符添加到字符串的结尾。 给定字符串A,同时给定...
  • he_shuai20
  • he_shuai20
  • 2017-08-16 19:58:43
  • 464

【java基础】史上最详细的配置环境变量步骤

你我均知,就像想游泳,需要先挖个游泳池,想运行java代码,需要先配置个java环境变量。配置java环境变量需要2步: 1.安装JDK 2.配置环境变量 1.安装JDK 这个在网上教...
  • qsbbl
  • qsbbl
  • 2018-01-21 17:04:59
  • 129

String.format参加字符串拼接大比拼

最近在项目中见到一个比较特别的代码,因为之前没见过,可能是孤陋寡闻了。我们平时用的最简单的字符串拼接就是用“+”号连接起来,要么我们就实例化一个StringBuilder或StringBuffer,然...
  • u010168160
  • u010168160
  • 2016-07-25 10:58:10
  • 6448

LUA之string的使用

--string.len(s)          --返回字符串s的长度   --string.rep(s, n) --返回重复n次字符串s的串,你使用string.rep("a", 2^2...
  • hua286306956
  • hua286306956
  • 2013-03-11 09:13:31
  • 28393

C#占位符

之前学习的是C#2.0,今天找了一本C#5.0的书翻了一下。 才知道还有自动属性和计算属性,程序学习果然不进则退。 照书上的要求写了个代码。 using System; using Sy...
  • sinat_14884161
  • sinat_14884161
  • 2016-03-27 15:55:29
  • 1008

string的用法

# 字符串的用法 string1 = 'abcd' string2 = "abcd" # ''' ''' 三个单引号对,声明的字符串,会保留其格式 string3 = ''' 1..... ...
  • qq_41611056
  • qq_41611056
  • 2018-01-29 15:24:51
  • 39

String 类

From:MSDN https://msdn.microsoft.com/zh-cn/library/system.string(VS.80).aspx 字符串是 Uni...
  • gaojinjingg
  • gaojinjingg
  • 2016-05-31 14:43:10
  • 169
收藏助手
不良信息举报
您举报文章:char * 和string互转,陷阱:char*中包含较多的'\0'
举报原因:
原因补充:

(最多只允许输入30个字)