#include #include #include int main(int argc, char* argv[]) { char newfile[256]; HANDLE f; HANDLE f1; unsigned char buf[256]; size_t len; f = CreateFile( argv[1], GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL ); if (f != INVALID_HANDLE_VALUE) { printf("%s OK\n", argv[1]); } else { printf("%s not found: %x\n", argv[1], GetLastError()); return 1; } sprintf(newfile, "%s.new", argv[1]); f1 = CreateFile( newfile, GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_SHARE_DELETE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); if (f1 == INVALID_HANDLE_VALUE) { CloseHandle(f); return 1; } while (ReadFile(f, buf, 256, &len, NULL)) { if (len == 0) { break; } WriteFile(f1, buf, len, &len, NULL); } FlushFileBuffers(f1); CloseHandle(f); CloseHandle(f1); return 0; }