в поисках способа чтения аргументов из файла конфигурации я нашел хороший способ сделать это, но дело в том, что когда я пытаюсь считать строки, происходит нечто действительно странное.
Это код:
FILE *file = fopen("config", "r");
char line[100];
int linenum = 0;
//int foo; Uncomment and it starts to working, doesn't matter if you rename it.
while(fgets(line, sizeof(line), file) != NULL) {
char option[4];
char arg[100];
if (line[linenum] == '#')
continue;
linenum++;
if (sscanf(line, "%s %s", option, arg) != 2)
fprintf(stderr, "Syntax error, line %i\n", linenum);
Файл конфигурации выглядит следующим образом:
#config file
option1
option2
option3
Итак, результат:
Syntax error, line 1
Syntax error, line 0
Syntax error, line 0
Но если я объявлю переменную int с любым именем доцикл while начинает работать!
Результат:
Syntax error, line 1
Syntax error, line 2
Syntax error, line 3
Что здесь происходит в мире?мой разум взорвется, может быть, это что-то глупое, но я не вижу причин для этого.