Memmove函数

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;
}

Tags: memmove

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):