一些关于vc的问答
源代码在线查看: subject_20003.htm
序号:20003 发表者:木子 发表日期:2002-11-02 09:03:43
主题:怎样将文件的指针一次移动一行?
内容:不胜感激
返回上页访问论坛
回复者:口水龙 回复日期:2002-11-02 09:08:13
内容:用CStdioFile直接可以读行
返回上页访问论坛
回复者:木子 回复日期:2002-11-02 09:24:57
内容:但我用的是win32 application console
返回上页访问论坛
回复者:PLB 回复日期:2002-11-02 09:29:53
内容:std::getLine()
返回上页访问论坛
回复者:木子 回复日期:2002-11-02 09:55:22
内容:我只是想移动指针,不读数据。谢谢楼上各位,希望哪位再帮我一下
返回上页访问论坛
回复者:Guns & Roses 回复日期:2002-11-02 19:51:06
内容:fgets( buff, MAX_BUFFER_SIZE, rpFile);//读取文件得一行iOffset = strlen( buffer );//计算读取得字节数SetFilePointer( );//设置文件指针有这三个函数就够了。具体的细节你自己考虑考虑吧。不难
返回上页访问论坛
答案被接受回复者:Guns & Roses 回复日期:2002-11-02 19:53:53
内容:我这有个查找文件结束标志的函数:参考参考:HANDLE LOG_SetFilePointer(LPCTSTR pFileName){ int iOffset = 0; FILE *rpFile = NULL; char buff[MAX_BUFFER_SIZE]; HANDLE hFile=NULL; BOOL bEof = FALSE; rpFile = fopen( pFileName, "r" ); while( !feof( rpFile ) )//find the end flag { memset( buff, 0, sizeof( buff) ); fgets( buff, MAX_BUFFER_SIZE, rpFile); if (strcmp( buff, "**********LOG END**********\n" ) != 0 )//judge the data from file equal to the flag iOffset = iOffset + strlen(buff) + 1; else { break; } } if ( feof( rpFile ) ) bEof = TRUE; fclose( rpFile ); hFile = CreateFile( pFileName, //get the HANDLE of file. GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); if ( bEof ) SetFilePointer( hFile, 0, NULL, FILE_END);//set the pointer of the file else SetFilePointer( hFile, iOffset, NULL, FILE_BEGIN ); return hFile;}
返回上页访问论坛
回复者:木子 回复日期:2002-11-05 16:26:48
内容:谢谢楼上各位!
返回上页访问论坛