给大分哦 !关于memcpy()的问题?还有红黑树? 各位高手: 小弟有事请教.memcpy()他用来干什么?写一个给俺瞧瞧?还有什么是红黑树?他的作用?小弟就此谢过. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 include <memory.h>#include <string.h>#include <stdio.h>char string1[60] = "The quick brown dog jumps over the lazy fox";char string2[60] = "The quick brown fox jumps over the lazy dog";/* 1 2 3 4 5 * 12345678901234567890123456789012345678901234567890 */void main( void ){ printf( "Function:\tmemcpy without overlap\n" ); printf( "Source:\t\t%s\n", string1 + 40 ); printf( "Destination:\t%s\n", string1 + 16 ); memcpy( string1 + 16, string1 + 40, 3 ); printf( "Result:\t\t%s\n", string1 ); printf( "Length:\t\t%d characters\n\n", strlen( string1 ) ); /* Restore string1 to original contents */ memcpy( string1 + 16, string2 + 40, 3 ); printf( "Function:\tmemmove with overlap\n" ); printf( "Source:\t\t%s\n", string2 + 4 ); printf( "Destination:\t%s\n", string2 + 10 ); memmove( string2 + 10, string2 + 4, 40 ); printf( "Result:\t\t%s\n", string2 ); printf( "Length:\t\t%d characters\n\n", strlen( string2 ) ); printf( "Function:\tmemcpy with overlap\n" ); printf( "Source:\t\t%s\n", string1 + 4 ); printf( "Destination:\t%s\n", string1 + 10 ); memcpy( string1 + 10, string1 + 4, 40 ); printf( "Result:\t\t%s\n", string1 ); printf( "Length:\t\t%d characters\n\n", strlen( string1 ) );} memcpy()是用来copy内存块的,当你有一个结构需要copy时,这时很可能就要用到memcpy;for example:struc A{ int var1; char var2;};void main(...){ A a,b; a.var1 = 1; a.var2 = 'c'; //给b赋值; memcpy(b,a,sizeof(a));} GDI+ graphics 如何复制 关于网络编程 的一些名词解释? POST 登陆邮箱 收到token invalid错误,怎么解决 Shell_NotifyIcon 建立的小气球超时设定无效 Resource.h解析不出资源怎么办? 为什么我的主对话框总提示说未注册? Debug?release? 两个程序一起运行就出错!!! 对话框 AnimateWindow的我问题(很菜问题) 如何在Dialog对话框上加入“最小化”的小图标? 质疑:winsock的多播质量(请指点,十万火急)
#include <string.h>
#include <stdio.h>char string1[60] = "The quick brown dog jumps over the lazy fox";
char string2[60] = "The quick brown fox jumps over the lazy dog";
/* 1 2 3 4 5
* 12345678901234567890123456789012345678901234567890
*/void main( void )
{
printf( "Function:\tmemcpy without overlap\n" );
printf( "Source:\t\t%s\n", string1 + 40 );
printf( "Destination:\t%s\n", string1 + 16 );
memcpy( string1 + 16, string1 + 40, 3 );
printf( "Result:\t\t%s\n", string1 );
printf( "Length:\t\t%d characters\n\n", strlen( string1 ) ); /* Restore string1 to original contents */
memcpy( string1 + 16, string2 + 40, 3 ); printf( "Function:\tmemmove with overlap\n" );
printf( "Source:\t\t%s\n", string2 + 4 );
printf( "Destination:\t%s\n", string2 + 10 );
memmove( string2 + 10, string2 + 4, 40 );
printf( "Result:\t\t%s\n", string2 );
printf( "Length:\t\t%d characters\n\n", strlen( string2 ) ); printf( "Function:\tmemcpy with overlap\n" );
printf( "Source:\t\t%s\n", string1 + 4 );
printf( "Destination:\t%s\n", string1 + 10 );
memcpy( string1 + 10, string1 + 4, 40 );
printf( "Result:\t\t%s\n", string1 );
printf( "Length:\t\t%d characters\n\n", strlen( string1 ) );
}
当你有一个结构需要copy时,这时很可能就要用到memcpy;
for example:
struc A{
int var1;
char var2;
};
void main(...)
{
A a,b;
a.var1 = 1; a.var2 = 'c';
//给b赋值;
memcpy(b,a,sizeof(a));
}