CString GetBuffer() GetString()
今天遇到了个棘手的问题, 弄了半天才搞定,在此记录下。
问题描述:
MBCS工程中一个函数:
void fun(CString& str1){ char *pstr = str1.GetBuffer();}调用时:
CString str("192.168.1.1");fun(str)
然而在fun中却只能获取第一个字符, 其余都空白:“1 ”
解决方法:
修改为:
const char *pstr = str1.GetString();这样就可以了。
分析:
1、GetBuffer 是我们常用的, 可创建所指大小的空间,供修改CString, ReleaseBuffer写回。
GetString是vc9后才有的成员函数,获取const char*。
2、所以, 以后CString转char*,用GetString了,当然你要通过char*修改的CString的话还得用GetBuffer。
至于为什么只获取第一个字符, 估计跟字符集有关。 GetBuffer创建了一样大小的空间,但由于字符识别问题,只复制了第一个字符过去
---------------------
作者:rydiy
来源:CSDN
原文:https://blog.csdn.net/rydiy/article/details/8007368
版权声明:本文为博主原创文章,转载请附上博文链接!
CString GetBuffer() GetString()相关推荐
- CString::GetBuffer函数作用
CString::GetBuffer LPTSTR GetBuffer( int nMinBufLength ); throw( CMemoryException ); 对一个CString变量,你 ...
- CString:Getbuffer和Releasebuffer的作用
首先看MSDN中的解释: CString::GetBuffer LPTSTR GetBuffer( int nMinBufLength ); throw( CMemoryException ) ...
- Cstring GetBuffer 和 ReleaseBuffer
GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能. CString ::GetBu ...
- MFC CString GetBuffer ReleaseBuffer方法
一.函数原型 CString::GetBuffer LPTSTR GetBuffer( int nMinBufLength ); throw( CMemoryException ); Return V ...
- MFC CString GetBuffer/ReleaseBuffer 的使用条件
今天为了通过串口往单片机里写一个16进制字符去控制单片机的adc的起停,结果糊涂到把'\x01'误写成'\0x01',怎么也得不到意想的结果,程序员有时候会犯低级错误,有时候怎么也跳不出去,这时候通过 ...
- CString的GetBuffer与ReleaseBuffer
http://blog.pfan.cn/xman/43212.html http://www.cnblogs.com/jamesmile/archive/2010/04/19/1715756.html ...
- CString的GetBuffer和ReleaseBuffer
GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能. CString ::GetBu ...
- MFC学习 CString内存泄漏的雷区——GetBuffer与ReleaseBuffer
GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能. CString ::GetBu ...
- GetBuffer与ReleaseBuffer的用法,CString剖析
转载: http://blog.pfan.cn/xman/43212.html GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象 ...
最新文章
- 【BZOJ】1823: [JSOI2010]满汉全席(2-sat)
- C++ STL中常见的typename关键字的作用
- java.lang.NoSuchMethodError
- C语言实现双向链表删除、插入、双向输出
- 2.2_ 4_ FCFS、SJF、 HRRN调度算法
- Tensorflow 十六 用tf.keras函数重写Mnist识别
- Python之网络编程(实现一个多用户同时在线的FTP用户管理程序)
- 通过接口的协议理解sort的本质
- 2021-2025年中国宠物美容台行业市场供需与战略研究报告
- 全是大事:百度华为联手搞AI;滴滴再融40亿美元也说搞AI
- 计算机科学与技术python方向_专业解读丨计算机科学与技术
- Vmware 的一些序列号
- 0x120-从头开始写操作系统-启动扇区与内存的关系及内存寻址的应用
- 达威尔CHERRY樱桃轴 铝合金有线背光电竞吃鸡游戏机械键盘
- 推荐一本书:《Visual C++程序开发范例宝典》——你可以找到你想要的实例
- Android - 购物车页面【仿】淘宝App
- 将pem证书转换为crt/key
- K8S部署ingress-nginx
- ProM安装以及配置
- Linux系统下如何隐藏自己的进程?
热门文章
- 2019年Vue学习路线图
- 框架:DAO,Service,Controller,View层之间的逻辑关系
- Nginx:安装+测试
- Vue_error Expected indentation of 2 spaces but found 3 indent问题整理
- 盘点全球最美的15座数据中心
- 浅谈5G机房配套那些事
- Php在线字体woff转svg,在线字体格式转换ttf/otf/eot/woff/woff2格式工具
- AI:大力出奇迹?Bigger is better?AI下一代浪潮?—人工智能的大语言模型(LLMs)的简介、发展以及未来趋势
- Python之fastparquet:fastparquet的简介、安装、使用方法之详细攻略
- CV之FDFA:利用MTCNN的脚本实现对LFW数据集进行FD人脸检测和FA人脸校准