程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 用c語言寫的讀一行源代碼

用c語言寫的讀一行源代碼

編輯:關於C語言

因為工作需要,用c語言寫了一個讀一行的函數,供大家參考: [cpp]   static BOOL readLine(FILE* file, char** ppBuf)       {       int   nMax = 128;       char  szBuf[128];       char* pAmountBuf = NULL ;       char* pResult;       int   nLen = 0;       int   nAmountLen = 0;       char* pTmp;       BOOL  bLoop = TRUE;       do       {           pResult=fgets(szBuf, nMax, file);           /* handle error */           if( pResult == NULL && !feof(file) )               {               if( pAmountBuf )                   free( pAmountBuf);               return FALSE;               }           if( pResult == NULL )               {               break;               }           else if ( (nLen = strlen( szBuf )) < nMax-1 ||                   szBuf[nLen-1] == '\n'                    )                {               if( nLen ==0 )                   break;               bLoop = FALSE;               }           nAmountLen += nLen;           pTmp = (char*)malloc( sizeof(char)* (nAmountLen + 1) );           if( pTmp == NULL )               {               if( pAmountBuf )                   free ( pAmountBuf );               return FALSE;               }           if( pAmountBuf )               {               strcpy(pTmp, pAmountBuf );               strcat(pTmp, szBuf);               }           else               {               strcpy(pTmp, szBuf);               }           pAmountBuf = pTmp;       }       while( bLoop );              if( nAmountLen!=0 && pAmountBuf[nAmountLen-1] == '\n' )           {           pAmountBuf[--nAmountLen]=0;           }       if( nAmountLen!=0 && pAmountBuf[nAmountLen-1] == '\r' )           {   www.2cto.com         pAmountBuf[--nAmountLen]=0;           }       if( nAmountLen==0 )           {           if( pAmountBuf )               free( pAmountBuf );           }       else           *ppBuf=pAmountBuf;       return nAmountLen!=0;              }    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved