Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

[ÖØÒª]CÖÐfread()º¯ÊýµÄ·µ»ØÖµ

 ×î½üÓиöÏîÄ¿ÐèÒªÔÚUNIXÏÂÓÃC×ö£¬ºÜ¾ÃûÓùýCÁË£¬·¢ÏÖЩÎÊÌâÈÝÒ׸ã´í¡£
      
    Õâ¸öÎÊÌâºÜÈÝÒ׸ã´í£¬²¢µ¼ÖºܶàÎÊÌ⣬ÐèҪǿµ÷µÄÊÇfreadº¯Êý·µ»ØµÄ²¢²»ÊÇ×Ö½ÚÊý¡£
realRead = fread(buf,item,count,fp)    £¨Ã¿´Î¶Áitem´óСµÄÊý¾Ý¿é£¬·Öcount´ÎÀ´¶Á¡££©
¶øÊÇ·µ»ØµÄÊdzɹ¦ÓÐЧµÄ¶ÁÈ¡µÄitemÔªËØµÄ¸öÊý£¬¶ø³É¹¦¶ÁÈëµÄ×Ö½ÚÊýÔòÊÇrealRead * sizeof(item)
Ò»°ã˵À´realRead ÊÇСÓÚcountµÄ£¬ºÜÇɵÄÇé¿ö¾Í¸ÕºÃΪcount.³ý·ÇÎļþ´óС¸ÕºÃΪitem´óСµÄÕûÊý±¶¡£
·µ»ØµÄÊÇÕæÊµ¶ÁÈëitemÔªËØµÄ¸öÊý£¬ËäÈ»¶ÁÁËcount´Î£¬µ«ÊÇÕæÕý¶Áµ½µÄÓÐЧ¸öÊýΪrealRead¸ö
ÕæÊµ¶ÁÈë×Ö½ÚÊý¾ÍΪrealRead*sizeof(item)  
 RETURN VALUE
       fread  and  fwrite  return the number of items successfully read or written (i.e., not the number of
       characters).  If an error occurs, or the end-of-file is reached, the return value is  a  short  item
       count (or zero).
       fread does not distinguish between end-of-file and error, and callers must use feof(3) and ferror(3)
       to determine which occurred.
fread£¨´ÓÎļþÁ÷¶ÁÈ¡Êý¾Ý£©  
 
±íÍ·Îļþ  #include<stdio.h>
 
¶¨Ò庯Êý  size_t fread(void * ptr,size_t size,size_t count,FILE * stream);
 
º¯Êý˵Ã÷  fread()ÓÃÀ´´ÓÎļþÁ÷ÖжÁÈ¡Êý¾Ý¡£²ÎÊýstreamΪÒÑ´ò¿ªµÄÎļþÖ¸Õ룬²ÎÊýptr Ö¸ÏòÓû´æ·Å¶ÁÈ¡½øÀ´µÄÊý¾Ý¿Õ¼ä£¬¶ÁÈ¡µÄ×Ö½ÚÊýÒÔ²ÎÊýsize*countÀ´¾ö¶¨¡£
Fread()»á·µ»ØÊµ¼Ê¶ÁÈ¡µ½µÄcountÊýÄ¿£¬Èç¹û´ËÖµ±È²ÎÊýcountÀ´µÃС£¬Ôò´ú±í¿ÉÄܶÁµ½ÁËÎļþβÁË»òÕßÓдíÎó·¢Éú(ǰÕß¼¸ÂÊ´ó)£¬Õâʱ±ØÐëÓÃfeof()»òferror()À´¾ö¶¨·¢ÉúʲôÇé¿ö¡£
 
·µ»ØÖµ  ·µ»ØÊµ¼Ê¶ÁÈ¡µ½µÄcountÊýÄ¿¡£
fread·µ»ØµÄ²»ÊÇ×Ö½ÚÊý£¬
µ±ÇÒ½öµ±ÏÂÃæÕâôÓõÄʱºò£¬·µ»ØÖµ²ÅÊÇ×Ö½ÚÊý£¨µ±È»ÒòΪǡºÃÒ»¸öÊý¾Ý¿é´óСΪ1¸ö×Ö½Ú£¬Ï൱ÓÚrealRead*1£©
char buff[size];
FILE *fp;
...
realRead = fread(buff, 1, size, fp);
...
Èç¹ûÊÇ: fread(buff, size, 1, fp)
·


Ïà¹ØÎĵµ£º

SQLite C/C++½Ó¿Ú½éÉÜ

ÕâÆªÎÄÕÂÊÇʹÓÃSQLite C/C++½Ó¿ÚµÄÒ»¸ö¸ÅÒª½éÉܺÍÈëÃÅÖ¸ÄÏ¡£
ÓÉÓÚÔçÆÚµÄSQLiteÖ»Ö§³Ö5¸öC/C++½Ó¿Ú£¬Òò¶ø·Ç³£ÈÝÒ×ѧϰºÍʹÓ㬵«ÊÇËæ×ÅSQLite¹¦ÄܵÄÔöÇ¿£¬ÐµÄC/C++½Ó¿Ú²»¶ÏµÄÔö¼Ó½øÀ´£¬µ½ÏÖÔÚÓг¬¹ý150¸ö²»Í¬µÄAPI½Ó¿Ú¡£ÕâÍùÍùʹ³õѧÕßÍû¶øÈ´²½¡£ÐÒÔ˵ÄÊÇ£¬´ó¶àÊýSQLiteÖеÄC/C++½Ó¿ÚÊÇרÓõģ¬Òò¶øºÜÉÙ±»Ê¹Óõ½¡£¾¡¹ÜÓÐÕâ ......

Windows via C/C++£ºÏ̵߳÷¶È——¸ÅÊö

»ùÓÚÓÅÏȼ¶µÄ²Ù×÷ϵͳ£¨preemptive operating system£©±ØÐëʹÓÃijÖÖËã·¨ÒÔ¾ö¶¨CPUÈçºÎµ÷¶ÈϵͳÖеÄỊ̈߳¬±¾Õ½«ÌÖÂÛWindows VistaʹÓõĵ÷¶ÈËã·¨¡£ ÎÒÃÇ֮ǰÌÖÂÛ¹ýÏ̵߳ÄÉÏÏÂÎĽṹCONTEXT£¬ÆäÖк¬ÓÐÏß³Ì×îºóÒ»´ÎÖ´ÐÐʱCPU¼Ä´æÆ÷×éµÄ״̬¡£ ²Ù×÷ϵͳÿ20ºÁÃë¼ì²éϵͳÖÐËùÓÐÏß³ÌÄں˶ÔÏóµÄ״̬£¬ÆäÖÐһЩ¶ÔÏó±»ÈÏΪÊǿɵ÷¶È£ ......

dz̸CÄÚ´æ·ÖÅä2

 ÄÚ´æ·ÖÅ䷽ʽÓÐÈýÖÖ£º
£¨1£© ´Ó¾²Ì¬´æ´¢ÇøÓò·ÖÅä¡£ÄÚ´æÔÚ³ÌÐò±àÒëµÄʱºò¾ÍÒѾ­·ÖÅäºÃ£¬Õâ¿éÄÚ´æÔÚ³ÌÐòµÄ
Õû¸öÔËÐÐÆÚ¼ä¶¼´æÔÚ¡£ÀýÈçÈ«¾Ö±äÁ¿£¬static ±äÁ¿¡£
£¨2£© ÔÚÕ»ÉÏ´´½¨¡£ÔÚÖ´Ðк¯Êýʱ£¬º¯ÊýÄÚ¾Ö²¿±äÁ¿µÄ´æ´¢µ¥Ôª¶¼¿ÉÒÔÔÚÕ»ÉÏ´´½¨£¬º¯
ÊýÖ´ÐнáÊøÊ±ÕâЩ´æ´¢µ¥Ôª×Ô¶¯±»ÊÍ·Å¡£Õ»ÄÚ´æ·ÖÅäÔËËãÄÚÖÃÓÚ´¦ÀíÆ÷µ ......

Windows via C/C++£ºÏ̵߳ÄÖ´ÐÐʱ¼ä

¼ÆËãÏß³ÌÖ´ÐÐijÏîÈÎÎñÏûºÄµÄʱ¼äʱ£¬Ðí¶à¿ª·¢ÈËÔ±»áµ÷ÓÃGetTickCount/GetTickCount64±àдÈçϵĴúÂ룺
// Get the current time (start time)
ULONGLONG qwStartTime = GetTickCount64();
// Perform complex algorithm here
// Subtract start time from current time to get duration
ULONGLONG dwElapsedTime = Get ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ