BOOL SaveFile(char* path, char* data, DWORD data_size)
{
HANDLE hFile = CreateFileA(path, GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if(!hFile) return 0;
DWORD wr = 0;
int ret = WriteFile(hFile, data, data_size, &wr, 0);
CloseHandle(hFile);
if(!ret)
{
return 0;
}
else
{
return 1;
}
}
К подписи ТС появились вопросыКод, конечно, местами пздц

Нашел до чего доебаться, это я тестил, смотрел как в хексе выглядит, нормально ли все внешне, в заголовочном файле этой функции нет, как и мейна, закоментить их надо было видимо для приличияКод, конечно, местами пздц. Например вот:
C:BOOL SaveFile(char* path, char* data, DWORD data_size)
Так же не поддерживается юникод, что повлечет за собой проблемы при работе с названиями, содержащими иероглифы и другие символы юникода.
Я бы не назвал это архиватором, из структуры просто формируется бинарный блоб и сохраняется на диск, затем происходит его парсинг.
А мне в падлу было искать что то, я решил накостылять так, моя цель была просто объединить кучу файлов в один, что бы не мучаться с передачей между процессамиНе удачная попытка изобрести TAR
И не архиватор это никакой и не либа даже и не микро вовсе.
Это понятно, там файлы мелкие по 40 - 160 кб, потому пофигне грузите фаилы в память целиком ... прочитал кусок - обработал - записал - взял следущий кусок.
Надеюсь пропадут после написания статьиК подписи ТС появились вопросы![]()
, а может появятся новые, всяко не корректно судить человека по малому, да и учиться всегда есть чемуМне стоило название темы примерно так и обозначитьЯ бы не назвал это архиватором, из структуры просто формируется бинарный блоб и сохраняется на диск, затем происходит его парсинг.
HANDLE hFile = CreateFileA(path, GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if(!hFile) return 0;
Упустил момент, на автомате проверки на 0 пихаю вездеа при каком случае возвращается 0? Когда фейлит возвращает INVALID_HANDLE_VALUE, то есть -1.C:HANDLE hFile = CreateFileA(path, GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0); if(!hFile) return 0;