c 0xC0000005: 写入位置 0x00415744 时发生访问冲突

C语言 码拜 9年前 (2015-09-27) 1258次浏览

//求救。为什么会编译通过,却运行错误

//错误:

//测试.exe 中的 0x1027d322 (msvcr100d.dll) 处有未经处理的异常: 0xC0000005: 写入位置 0x00415744 时发生访问冲突

#include<string.h>

int main()

{

char* aa=”1234″;

strcat(aa,”123″);

return 0;

}

//经测试是strcat()出现了问题,但我不知道为什么

//我用的是Microsoft Visual Studio 2010专业版

#1

10分

strcat(d,s) 中

d和s所指内存区域不可以重叠且d必须有足够的空间来容纳s的字符串。

如下即可:

char aa[50]=”1234″;

strcat(aa,”123″);

#2
@wafstudio

但是我想用字符指针,该怎么做?

#3

10分

char* aa = new char(50);
sprintf(aa,"%S","1234");
strcat(aa,"123");
#4
问题解决!

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明c 0xC0000005: 写入位置 0x00415744 时发生访问冲突
喜欢 (0)
[1034331897@qq.com]
分享 (0)