为什么C与C++的memecpy()使用不同?

来源:百度知道 编辑:UC知道 时间:2024/06/28 03:50:28
//.......ΪʲôÔÚC++ÓÃmemcpy()¾Í³ö´í......
#include <iostream.h>
#include <string.h>
int main(void)
{
char src[] = "******************************";
char dest[] = "abcdefghijlkmnopqrstuvwxyz0123456709";
char *ptr;
ptr=dest;
cout<<"destination before memcpy:"<<endl;
cout<<ptr<<endl;
ptr=memcpy(dest, src, strlen(src));
if(ptr)
cout<<"destination after memcpy: " ;
cout<<ptr<<endl;
else
cout<<"memcpy failed";
return 0;
}

//.......ÔÚCÖоͿÉÒÔÄØ£¿..........
#include <stdio.h>
#include <string.h>
int main(void)
{

你用的什么编译器

用VC++6.0运行结果是相同的

应该是一样的,只是不同版本的函数,它内在的实现机制会有所差别.别说是C和C++了,即使只在C里,你只要让编译器用不同的.lib或.dll文件,得到的函数实现机制可能都会有差别.但并不影响主程序调用它想实现的结果.否则相同的函数,不同的版本会有不同的结果,那天下不要大乱啦.所以才会有ISO,IEEE这样的标准化协会出现来统一各种不同厂商的函数差别嘛!!打个比方,在中国所有的插座应该都支持220V额定电压,不可能我用公牛的,你用松下电工的,结果我们2个人的插座电压是不一样的,会发生这样的情况吗?除非你在日本用110V的.呵呵!至于你遇到了问题,可以负责任的说多半是其他地方引起的,别往函数不一致上面想.

一样啊,怎么不一样了