Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<Windows.h>
- #define BUFFER_LENGTH 12
- int TransformA(HANDLE HandleFile)
- {
- DWORD dwReadSize = 0;
- DWORD dwWriteSize = 0;
- DWORD dwFileSize = 0;
- BYTE *buffer = NULL;
- BOOL isWrite = FALSE;
- DWORD fileNormalIndex = 0;
- DWORD Index1 = 0;
- DWORD Index2 = 0;
- buffer = (BYTE*)malloc(BUFFER_LENGTH * sizeof(BYTE));
- DWORD bufferToReadSize = BUFFER_LENGTH;
- if (NULL == buffer)
- {
- printf("error:%d\n", GetLastError());
- return -1;
- }
- dwFileSize = SetFilePointer(HandleFile, 0, NULL, FILE_END);
- SetFilePointer(HandleFile, 0, NULL, FILE_BEGIN);
- //copy text
- while (ReadFile(HandleFile, buffer, bufferToReadSize, &dwReadSize, NULL) && dwReadSize > 0)
- {
- fileNormalIndex = SetFilePointer(HandleFile, 0, NULL, FILE_CURRENT);
- SetFilePointer(HandleFile, 0, NULL, FILE_END);
- if (fileNormalIndex + BUFFER_LENGTH > dwFileSize)
- {
- bufferToReadSize = dwFileSize - fileNormalIndex;
- }
- if (fileNormalIndex > dwFileSize)
- {
- break;
- }
- if (!WriteFile(HandleFile, buffer, dwReadSize, &dwWriteSize, NULL))
- {
- printf("error write: %d! \n", GetLastError());
- }
- fileNormalIndex = SetFilePointer(HandleFile, fileNormalIndex, NULL, FILE_BEGIN);
- }
- fileNormalIndex = SetFilePointer(HandleFile, dwFileSize, NULL, FILE_BEGIN);
- while (ReadFile(HandleFile, buffer, BUFFER_LENGTH, &dwReadSize, NULL) && dwReadSize > 0)
- {
- fileNormalIndex += dwReadSize;
- for (DWORD i = 1; i < dwReadSize; i++)
- {
- if (buffer[i] == ' ' || buffer[i] == 10 || buffer[i] == 13)
- {
- Index1 = i - 1;
- }
- }
- SetFilePointer(HandleFile, fileNormalIndex, NULL, FILE_BEGIN);
- }
- return 0;
- }
- int main(int argc, char**argv)
- {
- HANDLE handleFile = INVALID_HANDLE_VALUE;
- char *fileName = argv[1];
- handleFile = CreateFileA(
- fileName,
- GENERIC_READ | GENERIC_WRITE,
- 0,
- NULL,
- OPEN_EXISTING,
- FILE_ATTRIBUTE_NORMAL,
- NULL
- );
- if (INVALID_HANDLE_VALUE == handleFile)
- {
- printf("error:%d\n", GetLastError());
- }
- if (-1 == TransformA(handleFile))
- {
- printf("error transform\n");
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement