Мне нужно записать
fopen()
с переменной, в С++ я делал так:
char *command = "echo Hello, world!";
fopen(command.c_str(), 'r');
В Си у меня с этим возникли сложности, прошу не судите строго за "глупый" вопрос. Если говорить подробнее - у меня есть переменная в Си
char *disks[DISK_ARRAY_LEN] = {"C:", "D:", "/sys/"};
И мне нужно с помощью цикла каждую строку из этого массива применять к функции
fopen()
, код примерно выглядит так:
char *disks[DISK_ARRAY_LEN] = {"C:", "D:", "/sys/"};
FILE *CHECK_DISK;
for (int i = 0; i < DISK_ARRAY_LEN; i++) {
CHECK_DISK = fopen(disks[i], "r"); // Тут и выходит ошибка
if (CHECK_DISK == NULL) {
printf("Disk %s is not found", disks[i]);
}
else {
printf("Disk %s if found!", disks[i]);
}
fclose(CHECK_DISK);
}
return 0;
Буду рад любым исправлениям кода, ибо мне кажется что я что то упустил.
Вывод ошибки: "Ошибка сегментирования"