Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef _CCSV
#define _CCSV
#define CCSVFILE_BUFFER_SIZE 2*512
// simple file i/o for comma seperated files
class CCSVFile { public: void far * operator new( size_t cb ) { return GlobalAlloc(GPTR, cb); }; void operator delete( void far * p ) {GlobalFree(p); };
CCSVFile(); ~CCSVFile(); BOOLEAN Open(LPCWSTR pszFileName); BOOLEAN ReadToken(LPWSTR pszDest, DWORD cbMax); // reads up to comma or newline, returns fFalse on EOF
BOOLEAN SkipTillEOL(void); // reads up to EOL
void Close(void); inline int ILastRead(void) { return m_iLastRead; }
private: BOOL FReadInBuffer(void); inline int ChNext(void); CHAR m_rgchBuf[CCSVFILE_BUFFER_SIZE]; //buffer
WCHAR m_rgwchBuf[CCSVFILE_BUFFER_SIZE]; LPWSTR m_pchBuf; //pointer to the next item in the buffer to read
LPWSTR m_pchLast; //pointer to the last item in the buffer
int m_iLastRead; //the character last read.
DWORD m_cchAvail; HANDLE m_hFile;
}; // ccsv
#endif //_CCSV
|