C¶ÁÈ¡ÎļþµÄÒ»ÐÐ
¸Õ¸ÕÍê³ÉµÄC¶ÁÈ¡ÎļþÒ»ÐÐÊý¾Ý£¬¿ÉÒÔ¶Á´óÁ¿Êý¾ÝµÄÐС£
/*
º¯Êý¹¦ÄÜ£º
¶ÁÈ¡ÎļþµÄÒ»ÐУ¬µ±¿ª±ÙÄÚ´æ²»¹»Ê±returnֵΪ-1,size»á¸ø³öÖÁÉÙÐèÒªµÄÄÚ´æ´óС£¬
returnֵΪ1ʱ±íʾ´ËʱÎļþ½áÊø£¬´Óbuffer,sizeµÃµ½×îºóÒ»ÐеÄÊý¾ÝºÍ´óС¡£
ÊäÈë²ÎÊý£º
stream£ºÎļþÁ÷
size£ºbuffer´óС,¿ª±ÙÄÚ´æ´óС
Êä³ö²ÎÊý£º
buffer£º´æ·ÅÒ»ÐÐ×Ö·û
size£ºbuffer´óС£¬×Ö·ûÊýÄ¿
·µ»ØÖµ£º
-1£º¶ÁÈ¡·¢Éú´íÎó
0£º³É¹¦¶ÁÈ¡
1: Îļþ½áÊø
±¸×¢£º
2010.01.11
*/
int rtFGetLine(FILE *stream,char *buffer,int &size)
{
static unsigned long offset = 0;
bool fileend = 0;
unsigned long bufsize = 1024;
char *buf = NULL, *dest = NULL;
unsigned short inc = 1;
if(!stream || !buffer)
{
return -1;
}
while(1)
{
bufsize *= inc;
buf = (char *)malloc(sizeof(char)*bufsize);
if(NULL == buf)
{
return -1;
}
memset(buf,0x00,bufsize);
fseek(stream,offset,SEEK_SET);
fread(buf,sizeof(char),bufsize,stream);
if(ferror(stream))
{
return -1;
}
dest = strchr(buf,'\n');
if(NULL == dest)
{
if( strlen(buf) >= bufsize - 1 )//¸ÃÐÐ×Ö·û´óÓÚbufsize
{
inc++;
free(buf);
buf = NULL;
continue;
}
if(feof(stream))//Îļþ°üº¬½áÊø±êÖ¾
{
&nbs
Ïà¹ØÎĵµ£º
Boss˵£¬Òª¿´OpenGL£¬¿´ÁË¿ìÒ»¸öÔ£¬×ÜËã³öÁ˸öÏñÑùµÄ¶«Î÷£¬ÓÃCдÁ˸ö3DÃÔ¹¬£¬
ËäȻֻÓÐ350ÐÐ
´úÂ룬²»¹ý±ßѧ±ßд£¬×ã×ãдÁËÒ»ÖÜʱ¼ä£¬»¹ÊÇСÓгɾ͸е쬻î»î»î£¡
&n ......
This is Edition 2.2.10 of `The `indent' Manual', for Indent Version
2.2.10, last updated 23 July 2008.
Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996 Free Software
Foundation, Inc. Copyright (C) 1995, 1996 Joseph Arceneaux. Copyright
(C) 1999 Carlo Wood. Copyright (C) 2001 David Ingamell ......
ÔÚÌÖÂÛÈ«¾Ö±äÁ¿Ö®Ç°ÎÒÃÇÏÈÒªÃ÷°×¼¸¸ö»ù±¾µÄ¸ÅÄ
1. ±àÒëµ¥Ôª(Ä£¿é)£º
ÔÚIDE¿ª·¢¹¤¾ß´óÐÐÆäµÀµÄ½ñÌ죬¶ÔÓÚ±àÒëµÄһЩ¸ÅÄîºÜ¶àÈËÒѾ²»ÔÙÇå³þÁË£¬ºÜ¶à³ÌÐòÔ±×îŵľÍÊÇ´¦ÀíÁ¬½Ó´íÎó(LINK ERROR), ÒòΪËü²»Ïñ±àÒë´íÎóÄÇÑù¿ÉÒÔ¸ø³öÄã³ÌÐò´íÎóµÄ¾ßÌåλÖã¬Äã³£³£¶ÔÕâÖÖ´íÎó¸Ðµ½°ÃÄÕ£¬µ«ÊÇÈç¹ûÄ ......