Я пытаюсь записать содержимое каталога Windows в файл с помощью c. Например, если у меня был каталог JPEGs (т.е. каталог, который содержит несколько JPEGs) и хотел, чтобы преобразовать их в .raw файл, у меня есть что-то вроде этого:открыть каталог файлов Windows для чтения/записи в c
#include <stdio.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>
typedef uint8_t BYTE;
#define BLOCK 512*sizeof(BYTE);
int main(void)
{
FILE * fd = fopen("C:\\jpegs", "r");
if (fd == NULL) {
fprintf(stderr, "Error opening device file.\n");
return EXIT_FAILURE;
}
int block = BLOCK;
FILE * fn = fopen("new.raw", "w+");
void * buff = malloc(block);
while(feof(fd) == 0) {
fread(buff,block,1,fd);
fwrite(buff,block,1,fn);
}
free(buff);
fclose(fd);
fclose(fn);
return 0;
}
Проблема в том, я не думаю, что оконные каталоги заканчиваются EOF. Есть ли у кого-нибудь идеи о том, как это решить?
Что такое «каталог файлов Windows» _? Что такое 'jpegs', это файл или это каталог? _ «Или в более общем плане, как окна разбивают свои каталоги и/или жесткие диски в памяти?» _ - Я сейчас царапаю голову ... Непосредственный вопрос: вы действительно знаете, какие термины _memory_ и _partition_ на самом деле имею в виду? Я спрашиваю, потому что они не имеют никакого отношения к вашей проблеме. –
это каталог. извините за запутанный язык. Ой, написал, что быстро, не задумываясь о том, что я пытался спросить. Я предполагаю, что я пытался спросить, как окна каталогов дифференцированы друг от друга в памяти. Или сформулировал другой способ, что именно читает чтение, когда я использую fopen в каталоге? – mrizzo
Потому что, когда я запускаю этот скрипт, он просто продолжает работать и продолжает писать больше байтов в new.raw, чем в каталоге jpegs. – mrizzo