По какой-то причине, когда я отправляю argv, он отправляет обратно неверный указатель на файл. Например, если я отправляю строку из argv из getty.txt, он отправляет обратно указатель файла shakes, и если я отправляю массив char генерации.txt, он отправляет обратно getty.txt. Как мне заставить его отправить верный указатель файла?Возврат неверного указателя на файл
for (i = 3; i < argc; i++) {
printf("%s\n", argv[i]);
pattern(determineFile(argv[i]), argv[2]);
}
FILE* determineFile(char* file) {
if (strcmp(file,"getty.txt"))
return getty;
else if (strcmp(file, "shakes.txt"))
return shakes;
else if (strcmp(file, "genesis.txt"))
return genesis;
else
return NULL;
}
Входной сигнал:
ГРЭП в getty.txt genesis.txt shakes.txt
Выход:
getty.txt
shakes.txt : Все слово - этап,
shakes.txt: И все мужчины и женщины просто игроки.
shakes.txt: У них есть свои выходы и их входы;
genesis.txt
getty.txt: Четыре оценка и семь лет назад наши отцы вывел, на этом
getty.txt: континент, новой нации, задуманной в свободе, и посвященный
shakes.txt
Код, который вы указали, не компилируется. Также, пожалуйста, укажите ввод. – Oswald