strcpy(p, p+2)会有问题吗?strcpy(p+2, p)呢? 好像strcpy(p, p+2)不会有问题,strcpy(p+2, p)会有问题。而msdn上说两个都有问题! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第二个肯定有问题char* strcpy(char *dest, const char* src)会不会跟第二个参数有冲突,但是我在linux运行好像没什么问题 两个都有问题,指针越介写了,如串p长度为10,则p+10,p+11的内存被越界写了,可能会破坏了其它程序 改正,strcpy(p, p+2);没问题p为"abcde"若strcpy(p, p+2);执行后是"cdede" //没问题若strcpy(p+2, p);执行后是"ababcde" //有问题 串p的长度足够长!我说的有问题是指并没有达到原来的目的,如strcpy(p+2, p)是想把p的内容向后移两位,可是移动后内容却发生了改变 我在程序中经常用strcpy(p, p+2)都没发现有什么问题啊 strcpy是不会有问题的,问题是得到的结果是不是你想要的 strcpy(p, p+2).你能得到正确结果吗?? strcpy(p+2, p),执行后太可怕了。。程序可呢功能崩溃掉,就和俺的帅一样~~~:) 两个都有问题,第一个char p[] = "c";strcpy(p, p+2); 能正常执行吗? 如果不是溢出的问题,那就没错误,只是p为"abcde"若strcpy(p+2, p);执行后是"ababcde" 你们想问题也太简单了!如果char p[256]="abcde";strcpy(p+2, p);的结果就是"ababcde"了吗?你知道strcpy内部是怎么实现的吗?你看了msdn上说的结果是未知的结论吗?你想想读内存与写内存都不是一次完成的,假如一个读三个写三个,则结果就成了"abcbc",这就是因为内存重叠的原因,所以msdn上推荐使用memmove这个函数 将图标资源的图 做成按钮怎么做 窗体透明后 自绘png button为何有毛边? 如何修改comboxlist的项 ImageList 使用问题 用WIN32写DLL是否能减小DLL体积(相对于MFC向导生成的DLL)? 如何取得和设置系统颜色? dll可以返回任意类型的数据吗? 郁闷,编译错误 到底哪里内存泄漏?帮我找找 怎样改变控件的颜色? 帮我看看这个代码怎么错误了? 用sdk如何读取一储存点坐标的文件并绘出图形
p为"abcde"
若strcpy(p, p+2);执行后是"cdede" //没问题
若strcpy(p+2, p);执行后是"ababcde" //有问题
你能得到正确结果吗??
就和俺的帅一样~~~:)
第一个
char p[] = "c";
strcpy(p, p+2); 能正常执行吗?
char p[256]="abcde";
strcpy(p+2, p);的结果就是"ababcde"了吗?
你知道strcpy内部是怎么实现的吗?你看了msdn上说的结果是未知的结论吗?
你想想读内存与写内存都不是一次完成的,假如一个读三个写三个,则结果就成了"abcbc",这就是因为内存重叠的原因,所以msdn上推荐使用memmove这个函数