memmove
原型:extern void *memmove(void *dest, const void *src, unsigned int count);
用法:#i nclude <string.h>
功能:由src所指内存区域复制count个字节到dest所指内存区域。
说明:src和dest所指内存区域可以重叠,但复制后src内容会被更改。函数返回指向dest的指针。
举例:可以用于在整个数字列中插入小数点
#i nclude"iostream.h"
#i nclude"stdio.h" //为了sprintf函数需要
#i nclude"string.h"//为了memmove函数需要
long value; //bigary里的值
char buffer[32]; //value in string form
int main()
{
//prompt for value to convert
cout<< "Value?";
cin>>value; //从键盘读入vvalue
//Convert value to string form in buffer
sprintf(buffer,"$ %.3d",value);
cout << "没格式化的:" << buffer <<endl;
//Move last two characters of buffer down one
int dest = strlen(buffer) - 2;
int src = strlen(buffer) - 3;
memmove(&buffer[dest],&buffer[src],4);//Including null!
//Insert decimal point and display results
buffer[src] ='.';
cout << "格式化的:" << buffer << endl;
return 0;
}
