使用sizeof()计算内存容量的问题
来源:互联网 发布:md 3d软件 编辑:程序博客网 时间:2024/04/30 08:05
困扰了多日的问题,今天终于解决了,问题出在sizeof()函数上。
问题的现象:
在使用wcscpy_s对TCHAR*变量进行赋值时,提示内存空间太小。
出错信息见下图
errno_t wcscpy_s( wchar_t *strDestination,//Location of destination string buffer size_t numberOfElements,//Size of the destination string buffer const wchar_t *strSource //Null-terminated source string buffer);
问题的原因:
TCHAR *stringA=new TCHAR[100];wcscpy_s(stringA,sizeof(stringA),"abcd");//对stringA进行赋值时,出错
sizeof(stringA)的值是4,小于字符粗"abcd"的长度(长度为5),所以提示以上错误信息。
sizeof(stringA)的值实际上是sizeof(TCHAR*)的值,而不是stringA所指向的内存空间的长度。
在林锐的《高质量C++/C编程指南》7.3.3节中有详细介绍,之前也看过几遍,但是在用的时候还是出错了。
- 使用sizeof()计算内存容量的问题
- 转载:网络工程师复习题—内存容量计算问题
- Sizeof 计算指针的问题
- SIZEOF()计算结构体的问题;
- sizeof计算二维数组长度的问题
- 类对象大小的 sizeof 计算问题
- 关于数组,sizeof(),strlen的计算问题
- 不使用sizeof, 计算int的位数...
- 不使用sizeof计算int的大小
- 不使用sizeof, 计算int的位数
- 使用sizeof计算类的大小
- 使用sizeof计算类的大小
- 使用sizeof()计算类的大小
- 使用sizeof计算类的大小
- 使用sizeof计算联合体的大小
- 地址总线,字长,内存容量,寻址范围 之间的计算
- 地址总线,字长,内存容量,寻址范围 之间的计算
- 地址总线,字长,内存容量,寻址范围 之间的计算
- 电影记录管理系统代码(笔记)
- Nosql :MongoDB一些基本操作<二>
- Charger&FuelGauge (Riogande platform)
- sk_buff结构分析
- P119'MOV'
- 使用sizeof()计算内存容量的问题
- Session丢失的解决办法小结
- 在Bugzilla中通过SMTP发通知邮件
- 递归打印实数
- CAP原理和BASE思想
- 分析Power key的处理流程
- C++primer 笔记
- win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程
- IOS推送功能的实现