Вот написал фунцию которая собирает из отдельных файлов один большой. Проблена в том, что если я удаляю отдельные файлы после копирования, то результирующий файл становиться нулевой длинны. Иде косяк? char filename[1024*128]; int i = 0; int blocks_nunber = m_file_size/DEFAULT_DL_SEGMENT; if(m_file_size%DEFAULT_DL_SEGMENT) blocks_nunber++; snprintf(filename, sizeof(filename), "%s/%s", m_store_dir.c_str(), m_fn.c_str()); FILE* pTF = fopen(filename, "w+"); if(pTF == 0) { printf("cant open target file for assembling%s\n", filename); perror("Error"); return; } while(i < blocks_nunber) { snprintf(filename, sizeof(filename), "%s/%s_dltmp/%s_%lu", m_tempdir.c_str(), m_fn.c_str(), m_fn.c_str(), i); FILE* pF = fopen(filename, "r"); if(pF == 0) { printf("cant open temp file for assembling%s\n", filename); perror("Error"); fclose(pTF); return; } int n = 0; while(n = fread(filename, 1, sizeof(filename), pF)) { fwrite(filename, 1, n, pTF); } fclose(pF); //snprintf(filename, sizeof(filename), "%s/%s_dltmp/%s_%lu", m_tempdir.c_str(), m_fn.c_str(), m_fn.c_str(), i); //unlink(filename); //printf("removing temp file: %s\n", filename); i++; } fclose(pTF); i = 0; /*while(i < blocks_nunber) { snprintf(filename, sizeof(filename), "%s/%s_dltmp/%s_%lu", m_tempdir.c_str(), m_fn.c_str(), m_fn.c_str(), i); unlink(filename); printf("removing temp file: %s\n", filename); i++; } snprintf(filename, sizeof(filename), "%s/%s_dltmp", m_tempdir.c_str(), m_fn.c_str()); rmdir(filename);*/ /**********************************************************/
Ответ на:
комментарий
от imp
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Некопирование файлов (2009)
- Форум Recv снова в ожидании,в то время как Send уже все передал. (2015)
- Форум Да помогите вы мне с этим wav-player'oм!!! (2003)
- Форум перехват open (2016)
- Форум Утилита для изменения аптайма (2008)
- Форум Как узнать, сколько памяти доступно для выделения? (2005)
- Форум Фейлится fseek(file, 0, SEEK_END) (2016)
- Форум [C][FIFO] Чатик, не ходят данные (2011)
- Форум Си /*ошибка сегментирования */ (2009)
- Форум Ошибки (2008)