C++中strcat的简单问题!!在线求助!
char*a=(char*)malloc(999);chartemp[10];...//中间就算是给temp赋值strcat(a,temp);我用的是vc2010,这里为...
char *a=(char*)malloc(999);
char temp[10];
...//中间就算是给temp赋值
strcat(a,temp);
我用的是vc2010,这里为什么每次都会有breakpoint跳出来 说有unhandled exception啊??然后会打开一个strcat.asm的文件,在“ mov [edi],dl”这里有个breakpoint。
在线求助啊急!!!求高手指点!!谢谢!!! 展开
char temp[10];
...//中间就算是给temp赋值
strcat(a,temp);
我用的是vc2010,这里为什么每次都会有breakpoint跳出来 说有unhandled exception啊??然后会打开一个strcat.asm的文件,在“ mov [edi],dl”这里有个breakpoint。
在线求助啊急!!!求高手指点!!谢谢!!! 展开
5个回答
展开全部
你没有把a没有初始化,或者你初始化的字符串最后一个不是空字符,或者你的temp赋值不是以空字符结束
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
展开全部
使用strcat之前加上下面这句
memset(a, 0, 999);
另外,你需要判断a的空闲内存是否够用
if ( 999 - strlen(a) > strlen(temp))
{
strcat(a, temp);
}
memset(a, 0, 999);
另外,你需要判断a的空闲内存是否够用
if ( 999 - strlen(a) > strlen(temp))
{
strcat(a, temp);
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很多回答纯粹胡说
char temp[10] = {0} 就行了
temp没有初始化导致没有结束导致溢出。
楼主不要被别人误导
char temp[10] = {0} 就行了
temp没有初始化导致没有结束导致溢出。
楼主不要被别人误导
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
会不会temp定义的短了?定义的长点试试
追问
我换了10000了。。也不行。。
追答
你在char *a=(char*)malloc(999);加个断点,跟进去看看,这些变量里面到底是什么。就知道问题在哪了。
断点会加吗? 就把光标移动到char *a=(char*)malloc(999);,按F9,然后运行,接着按F10,一步一步的看。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
溢出了啊 亲
更多追问追答
追问
请问应该怎么改啊。。。我不太会
追答
能全贴出来么代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询