求strcpy的拷贝问题,实在搞不定,求教!
时间:2011-11-27
来源:互联网
在头文件spi.h中定义一个字符数组如下:
char* pp[20];
实现过程中,我的初始化如下:
for(int i=0;i<20;i++) //中间的表达式我本来用sizeof(pp),但运行时内存不足
pp[i]="";
接着,实现过程中,有一个CString对象str,有值,我在调试的时候也看得到。
strcpy(pp[0],str);//调试到这里,看到pp[0]的值是"",str也有值
编绎没有问题,运行这里后,接着一句句执行,接着到strcat.asm中,
main_loop: ; edx contains first dword of sorc string
mov [edi],edx ; store one more dword
add edi,4 ; kick dest pointer
其中,mov那句就中断了,过不去,不知道要怎样才行
char* pp[20];
实现过程中,我的初始化如下:
for(int i=0;i<20;i++) //中间的表达式我本来用sizeof(pp),但运行时内存不足
pp[i]="";
接着,实现过程中,有一个CString对象str,有值,我在调试的时候也看得到。
strcpy(pp[0],str);//调试到这里,看到pp[0]的值是"",str也有值
编绎没有问题,运行这里后,接着一句句执行,接着到strcat.asm中,
main_loop: ; edx contains first dword of sorc string
mov [edi],edx ; store one more dword
add edi,4 ; kick dest pointer
其中,mov那句就中断了,过不去,不知道要怎样才行
作者: lrypower 发布时间: 2011-11-27
char* pp[20];
这里你要为每个指针分配内存
然后才能strcpy(pp[i], str);
这里你要为每个指针分配内存
然后才能strcpy(pp[i], str);
作者: xiaoc1026 发布时间: 2011-11-27
strcpy(pp[0],str);//调试到这里,看到pp[0]的值是"",str也有值
===========
pp[0]没有分配空间啊!你可以在这之前用new给它分配一个空间。
===========
pp[0]没有分配空间啊!你可以在这之前用new给它分配一个空间。
作者: wltg2001 发布时间: 2011-11-27
问题是
for(int i=0;i<20;i++) //中间的表达式我本来用sizeof(pp),但运行时内存不足
pp[i]="";
pp[i]初始化的内存太少一个字节,并且是静态常量缓冲区,不能进行
修改修改如下
for(int i=0;i<20;i++)
pp[i]= new char(128];
使用完后
for(int i=0;i<20;i++)
delete [] pp[i]
for(int i=0;i<20;i++) //中间的表达式我本来用sizeof(pp),但运行时内存不足
pp[i]="";
pp[i]初始化的内存太少一个字节,并且是静态常量缓冲区,不能进行
修改修改如下
for(int i=0;i<20;i++)
pp[i]= new char(128];
使用完后
for(int i=0;i<20;i++)
delete [] pp[i]
作者: gameslq 发布时间: 2011-11-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28