Как пропустить первую строку при сканировании .text файла?

13
задан NLed 9 May 2010 в 23:43
поделиться

3 ответа

fgets получит одну строку и установит указатель файла, начиная со следующей строки. Затем вы можете начать читать то, что хотите, после этой первой строки.

char buffer[100];
fgets(buffer, 100, pointer);

Работает, пока ваша первая строка не превышает 100 символов. В противном случае вы должны проверить и зациклить.

14
ответ дан 1 December 2019 в 17:18
поделиться

Непонятно, в чем вы пытаетесь сохранить данные, поэтому нелегко угадать ответ, кстати, вы можете просто пропустить байты, пока не перейдете к \ n :

FILE *in = fopen("file.txt", "r");

Затем вы можете пропустить целую строку с помощью fgets , но это небезопасно (потому что вам нужно будет заранее оценить длину строки), в противном случае используйте fgetc :

char c;
do {
  c = fgetc(in);
} while (c != '\n');

Наконец, вы должны иметь спецификаторы формата внутри вашего fscanf для фактического анализа данных, например

fscanf(in, "%f", floatVariable);

, вы можете обратиться к здесь за спецификаторами.

13
ответ дан 1 December 2019 в 17:18
поделиться

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 */
3
ответ дан 1 December 2019 в 17:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: