hur.cn - 华软网

 热门搜索

很是郁闷的一个问题 关于 _memccpy

  作者:未知    来源:网络    更新时间:2010/12/8

这个函数的原型是 

Copies characters from a buffer.

void *_memccpy( 
   void* dest, 
   const void* src, 
   int c, 
   unsigned int count 
);
Parameters
dest 
Pointer to destination. 
src 
Pointer to source. 

Last character to copy. 
count 
Number of characters. 
Return Values

typedef a _AA
{
 int x;
int y;
int x
};

问题是,我复制结构体

那么第三个参数应该写什么....
---华软 网友回答---
第三个参数就是写sizeof(_AA)),看MSDN的例子

char string1[60] = "The quick brown dog jumps over the lazy fox";

void main( void )
{
   char buffer[61];
   char *pdest;

   printf( "Function:\t_memccpy 60 characters or to character 's'\n" );
   printf( "Source:\t\t%s\n", string1 );
   pdest = _memccpy( buffer, string1, 's', 60 );
   *pdest = '\0';
   printf( "Result:\t\t%s\n", buffer );
   printf( "Length:\t\t%d characters\n\n", strlen( buffer ) );
}

---华软网友回复---
你的实际要求基本不适适用这个函数啊,你为什么如此纠结呢?
memcpy就能够啊
---华软网友回复---
你拷贝部份结构体有啥用啊。
---华软网友回复---
sizeof(_AA)
---华软网友回复---
引用 4 楼 gameslq 的回复:
sizeof(_AA)

+
---华软网友回复---
memcpy就能够了
---华软网友回复---
void CopyMemory(
  __in  PVOID Destination,
  __in  const VOID* Source,
  __in  SIZE_T Length
);

---华软网友回复---
就是
为什么不用memcpy
---华软网友回复---
一楼看问题不仔细
用_memccpy是由于,我用mmccpy的时候,编译报警告说这个函数不平安

也许如你们所说,这里不适适用这个函数...
---华软网友回复---
VC7以上吗?用memcpy_s就是了
---华软网友回复---
引用 9 楼 lfs09 的回复:
一楼看问题不仔细
用_memccpy是由于,我用mmccpy的时候,编译报警告说这个函数不平安

也许如你们所说,这里不适适用这个函数...


_memccpy和memccpy是一回事,不平安是说微软未来不用这个了而是用_memccpy替换
先搞清楚用什么函数了再提问。
---华软网友回复---
引用 11 楼 visualwind 的回复:
引用 9 楼 lfs09 的回复:

一楼看问题不仔细
用_memccpy是由于,我用mmccpy的时候,编译报警告说这个函数不平安

也许如你们所说,这里不适适用这个函数...


_memccpy和memccpy是一回事,不平安是说微软未来不用这个了而是用_memccpy替换
先搞清楚用什么函数了再提问。

谢谢指教      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。