Я хочу просканировать каталог, проверив наличие JPEG-файлов (т.е. комбинации первых нескольких байтов) и скопировав их на другой диск. Я успешно протестировал эту программу, и она просматривает документы. Однако я не могу получить доступ ко всему каталогу (например, к моей случайно стертой SD-карте в D:/).
Вот как я пытался получить к нему доступ:
// remember the path from the command line
char *path = argv[1];
// open the path (preferably "D:\" - which is my SD-Card ;))
FILE *inptr = fopen(path, "r");
if (inptr == NULL)
{
fprintf(stderr, "inputfile could not be read\n");
return 1;
}
Вывод "входной файл не может быть прочитан" - поэтому я совершенно уверен, что ошибка именно здесь. Нужно ли обращаться к каталогу по-другому? Например. с помощью указателя на первый бит диска?
Я новичок, поэтому смейтесь осторожно. ;)
Большое спасибо! Марсель
path
? Как вы проверяете, имеет ли он ту ценность, которую, по вашему мнению, он имеет? Пожалуйста, обновите свой вопрос с исполняемым кодом, который воспроизводит ошибку. - person larsks   schedule 06.08.2017path
не является путем к определенному файлу, скорее всего, это ваша проблема. - person Dsel   schedule 06.08.2017fprintf(stderr, "file '%s' could not be opened for reading\n", path);
, например, который также правильно сообщает об ошибках в стандартном потоке ошибок. Это помогает всем с отладкой. - person Jonathan Leffler   schedule 07.08.2017dirent.h
(сopendir()
иreaddir()
). Таким образом, я хочу упомянуть следующие ссылки: SO: Microsoft Visual Studio: opendir() и readdir(), как? и SO: вывод содержимого каталога с использованием C и Windows. - person Scheff's Cat   schedule 07.08.2017