Я использую XCode и пытаюсь открыть файл, переданный в качестве аргумента командной строки, и вывести количество строк, переданных в качестве аргумента командной строки этого файла, на консоль в C. В XCode мои аргументы - «test.rtf» и «5». Мой RTF выглядит так:
line 1 test
line 2 test
line 3 test
line 4 test
line 5 test
line 6 test
line 7 test
line 8 test
line 9 test
line 10 test
Я пробовал это с моим rtf в той же папке, что и папка моего проекта XCode, и в папке Debug, где находится исполняемый файл. Мой код:
#include <stdio.h>
#include <stdlib.h>
#define CORRECT_PARAMETERS 2
int main(int argc, char *argv[])
{
int x;
if (argc != CORRECT_PARAMETERS) {
printf("Wrong number of parameters inputted.");
}
else {
FILE *inFp; /*declare a file pointer */
if ((inFp = fopen(argv[0], "r") == NULL)) {
fprintf(stderr, "Can't open file");
exit(EXIT_FAILURE);
}
else {
for (x = 1; x <= argv[1]; x++) {
while ((x = fgetc(inFp)) != EOF) {
printf("%c", x);
}
}
}
fclose(inFp);
}
}
Я знаю, что мой код может быть неправильным при выводе числа строк, введенных в командной строке, но я не могу заставить начальную часть просто открыть файл. Что выводится:
Wrong number of parameters inputted.
Спасибо!