Advertisement
leleflorin

Untitled

Jul 15th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.15 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<Windows.h>
  4.  
  5. #define BUFFER_LENGTH 12
  6.  
  7.  
  8. int TransformA(HANDLE HandleFile)
  9. {
  10. DWORD dwReadSize = 0;
  11. DWORD dwWriteSize = 0;
  12. DWORD dwFileSize = 0;
  13. BYTE *buffer = NULL;
  14. BOOL isWrite = FALSE;
  15. DWORD fileNormalIndex = 0;
  16. DWORD Index1 = 0;
  17. DWORD Index2 = 0;
  18.  
  19.  
  20. buffer = (BYTE*)malloc(BUFFER_LENGTH * sizeof(BYTE));
  21. DWORD bufferToReadSize = BUFFER_LENGTH;
  22.  
  23. if (NULL == buffer)
  24. {
  25. printf("error:%d\n", GetLastError());
  26. return -1;
  27. }
  28.  
  29. dwFileSize = SetFilePointer(HandleFile, 0, NULL, FILE_END);
  30. SetFilePointer(HandleFile, 0, NULL, FILE_BEGIN);
  31.  
  32.  
  33. //copy text
  34. while (ReadFile(HandleFile, buffer, bufferToReadSize, &dwReadSize, NULL) && dwReadSize > 0)
  35. {
  36. fileNormalIndex = SetFilePointer(HandleFile, 0, NULL, FILE_CURRENT);
  37. SetFilePointer(HandleFile, 0, NULL, FILE_END);
  38.  
  39. if (fileNormalIndex + BUFFER_LENGTH > dwFileSize)
  40. {
  41. bufferToReadSize = dwFileSize - fileNormalIndex;
  42. }
  43. if (fileNormalIndex > dwFileSize)
  44. {
  45. break;
  46. }
  47.  
  48. if (!WriteFile(HandleFile, buffer, dwReadSize, &dwWriteSize, NULL))
  49. {
  50. printf("error write: %d! \n", GetLastError());
  51. }
  52. fileNormalIndex = SetFilePointer(HandleFile, fileNormalIndex, NULL, FILE_BEGIN);
  53. }
  54.  
  55. fileNormalIndex = SetFilePointer(HandleFile, dwFileSize, NULL, FILE_BEGIN);
  56.  
  57. while (ReadFile(HandleFile, buffer, BUFFER_LENGTH, &dwReadSize, NULL) && dwReadSize > 0)
  58. {
  59. fileNormalIndex += dwReadSize;
  60. for (DWORD i = 1; i < dwReadSize; i++)
  61. {
  62. if (buffer[i] == ' ' || buffer[i] == 10 || buffer[i] == 13)
  63. {
  64. Index1 = i - 1;
  65. }
  66. }
  67.  
  68.  
  69.  
  70. SetFilePointer(HandleFile, fileNormalIndex, NULL, FILE_BEGIN);
  71. }
  72.  
  73.  
  74.  
  75. return 0;
  76. }
  77.  
  78.  
  79. int main(int argc, char**argv)
  80. {
  81. HANDLE handleFile = INVALID_HANDLE_VALUE;
  82. char *fileName = argv[1];
  83.  
  84.  
  85. handleFile = CreateFileA(
  86. fileName,
  87. GENERIC_READ | GENERIC_WRITE,
  88. 0,
  89. NULL,
  90. OPEN_EXISTING,
  91. FILE_ATTRIBUTE_NORMAL,
  92. NULL
  93. );
  94.  
  95.  
  96.  
  97. if (INVALID_HANDLE_VALUE == handleFile)
  98. {
  99. printf("error:%d\n", GetLastError());
  100. }
  101.  
  102.  
  103. if (-1 == TransformA(handleFile))
  104. {
  105. printf("error transform\n");
  106. }
  107.  
  108.  
  109. system("pause");
  110. return 0;
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement