#include "stdafx.h" #include off_t OldFileSize = 0; //----------------------------------------------------------------------------------------------------------------------------------------------------------------------- off_t Get_Size(std::string path) { // # include // ---- FILE *pFile = NULL; // ---- // get the file stream // ---- fopen_s( &pFile, path.c_str(), "rb" ); // ---- // set the file pointer to end of file // ---- fseek( pFile, 0, SEEK_END ); // ---- // get the file size // ---- off_t Size = ftell( pFile ); // ---- // return the file pointer to begin of file if you want to read it // rewind( pFile ); // ---- // close stream and release buffer // ---- fclose(pFile); // ---- return Size; } //----------------------------------------------------------------------------------------------------------------------------------------------------------------------- char * getLineByHandle(FILE * fileHandler) { char Buffer[10024] = {0}; // ---- if(!fgets(Buffer, sizeof(Buffer), fileHandler)) { return NULL; } // ----- // # strip trailing '\n' if it exists // ----- int len = strlen(Buffer) - 1; // ----- if(Buffer[len] == '\n') { Buffer[len] = 0; } // ----- return Buffer; } //----------------------------------------------------------------------------------------------------------------------------------------------------------------------- void handle_file(FILE * fileHandler) { char * Temp = NULL; // --- do { Temp = getLineByHandle(fileHandler); // ---- char var1[1024] = {0}; char var2[1024] = {0}; char var3[1024] = {0}; char var4[1024] = {0}; char var5[1024] = {0}; char var6[1024] = {0}; char var7[1024] = {0}; char var8[1024] = {0}; // ---- sscanf(Temp, "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s", var1, var2, var3, var4, var5, var6, var7, var8); // ---- printf("%s\s",var2); getchar(); } while(Temp != NULL); // ---- } //----------------------------------------------------------------------------------------------------------------------------------------------------------------------- int _tmain(int argc, _TCHAR* argv[]) { char Input[200] = {0}; FILE * fileHandler = NULL; // --- do { printf("please insert log file patch\n"); scanf("%s", Input); // --- fileHandler = fopen(Input, "r+"); // ---- if(fileHandler == NULL) { system("cls"); // ---- printf("file cannot be opend patch again\n"); } else { fclose(fileHandler); break; } } while(fileHandler == NULL); // --- while(true) { printf("Checking file...\n"); if((OldFileSize == 0) || (OldFileSize != Get_Size(Input))) { fileHandler = fopen(Input, "r+"); // ---- if(fileHandler == NULL) { system("cls"); // ---- printf("file cannot be opend, restart program or check patch again\n"); } handle_file(fileHandler); fclose(fileHandler); OldFileSize = Get_Size(Input); } else { printf("File not changed!\n"); } Sleep(1000); } // ---- // ---- return 0; } //-----------------------------------------------------------------------------------------------------------------------------------------------------------------------