Как прочитать весь файл с номерами, разделенными {,,} формат в C? - PullRequest
0 голосов
/ 13 марта 2011

У меня есть зашифрованный текстовый файл с числом значений, который выглядит следующим образом: число1: {n1, n2, ...}% число2: {n1, n2, ...} и так далее. Я хочу прочитать этот файл на C. Затем извлеките n1, n2, пока} не достигнуто. Есть идеи, как это сделать?

1 Ответ

3 голосов
/ 13 марта 2011

Если этот пример файла в правильном формате:

1: {2,3,4}% 5: {6,7,8}

Затем вы можете извлечь числа, используя следующий код:

#include <stdio.h>

int main(int argc, char* argv[])
{
  char filename[] = "filename.txt";
  FILE *file;
  int n, num1, num2;

  file = fopen(filename, "r");

  while (fscanf(file, "%d: {%d", &num1, &num2) == 2)
  {
    printf("%d: ", num1);  
    printf("%d", num2);

    while(fscanf(file, ",%d", &num2) > 0)  
    {   
      printf(", %d", num2);
    }   

    fscanf(file, "}%% ");
    printf("\n");
  }

  fclose(file);
}

Переменная num1 содержит числа перед {}, например, number1, number2, ..., в то время как num2 содержит числа внутри {}, например, n1, n2, ...

Соответствующий вывод для файла примера, приведенный выше, будет:

1: 2, 3, 4
5: 6, 7, 8
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...