fgets получит одну строку и установит указатель файла, начиная со следующей строки. Затем вы можете начать читать то, что хотите, после этой первой строки.
char buffer[100];
fgets(buffer, 100, pointer);
Работает, пока ваша первая строка не превышает 100 символов. В противном случае вы должны проверить и зациклить.
Непонятно, в чем вы пытаетесь сохранить данные, поэтому нелегко угадать ответ, кстати, вы можете просто пропустить байты, пока не перейдете к \ n
:
FILE *in = fopen("file.txt", "r");
Затем вы можете пропустить целую строку с помощью fgets
, но это небезопасно (потому что вам нужно будет заранее оценить длину строки), в противном случае используйте fgetc
:
char c;
do {
c = fgetc(in);
} while (c != '\n');
Наконец, вы должны иметь спецификаторы формата внутри вашего fscanf
для фактического анализа данных, например
fscanf(in, "%f", floatVariable);
, вы можете обратиться к здесь за спецификаторами.
fgets здесь будет работать.
#define MAX_LINE_LENGTH 80
char buf[MAX_LINE_LENGTH];
/* skip the first line (pFile is the pointer to your file handle): */
fgets(buf, MAX_LINE_LENGTH, pFile);
/* now you can read the rest of your formatted lines */