На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> Нужна помошь , Считать из файла
    Файл текстовый
    в нём есть n-ое количество строк такого формата например("%s %f %f");
    Нужно считать значение из строки где %s=ident и следующей за ней в переменные...
    Просто я в С новичок, так что просьба сильно не ругаться.. smile.gif
      Интересный вопрос. Стандартными средствами так сделать нельзя, советую разбить строку по разделителю и обработать данные.
        Сорри.. Наверное я просто плохо объяснил..
        1. Мне нужно найти строку где %s=ident;
        2. Потом из этой строки считать значения в переменные (fscanf("%s %f %f",str,&a,&b));
        3. И считать значения из следуюшей после неё строки.

        Вопрос заключается в том как найти строку см. п.1, как установить на неё указатель, и как установить указатель на следующую строку..И ещё формат строки я указал не правильно, правильно будет так ("%s %f %f/n");
          чтоб было однопроходно, тебе надо считать все переменные до того как ты узнаешь что
          %s == ident, а когда это случится начинаешь обрабатывать считанные данные я бы предложил 2 цикла подряд, из первого, когда %s == ident выходишь break'ом, попутно обрабатывая эту (первую) строку.
             char str[255] = {0};
             float val1=0, val2=0;
             FILE * file = fopen("c:\\some_file", "rt");

             while (!feof(file))
             {
                  fscanf(file, "%s %f %f\n", str, &val1, &val2);
                  if ((strcmp(str, "your_ident") == 0) && (!feof(file)))
                  {
                       fscanf(file, "%s %f %f\n", str, &val1, &val2);
                       break;
                  }
             }
            Примерно так...
              Спасибо всем!! Очень вам благодарен..
              З.Ы.
              Как это я сам не додумался... biggrin.gif
              1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0193 ]   [ 15 queries used ]   [ Generated: 19.05.24, 13:09 GMT ]