Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ciao
0 / 0 / 0
Регистрация: 25.12.2008
Сообщений: 28
#1

считать строки из файла и вывесте конечный результать.. - C++

05.05.2009, 15:10. Просмотров 798. Ответов 1
Метки нет (Все метки)

Мне надо найти количество строк, заполенных значениями для матриц. Вот пример текстового файла:
Код
//matrice GHSERp pour ferrite
//temperature i[Fe/Cr] j[C/Va] l[l'ordre] valeur
0 1 0 0 -99.808 //Мне нужно считать строки между коментариями
0 1 0 1 0
0 1 0 2 3.6e10
0 1 0 3 -7.929e8
0 1 0 4 2701850
0 1 0 5 355037.737
0 1 0 6 669.67
0 1 0 7 0.00047745
0 1 0 8 -1.47721e-6
Код
//matrice L1 pour ferrite (Fe-Cr-C/Va)
//temperature i[Fe/Cr] j[C] k[Va] l[l'ordre] m[l'ordre pour polynom] valeur
0 0 1 0 0 1 -1250000
0 0 1 0 0 2 667.7  
1 0 1 0 0 1 -1250000
1 0 1 0 0 2 667.7
Я пробовала написать маленькую функцию:
Код
int Gibbs::readstr(FILE *f,char *str)
{
 int nb_lignes = 0;
 do
  {
     char * ok = fgets(str, 256, f);nb_lignes++;
     if (!ok)    return 0;
  } while (str[0] == '/' || str[0] == '\n');
    return nb_lignes;
}
И вставить ее непосредственно в раздел считывания значении для какой-нить матрицы:
Код
   if (nm == 5)
    {
      int tmax = 0, imax = 0, jmax = 0, lmax = 0;
      int t , i , j , l;
      double v = 0.;
      nb_lignes = readstr(fp,str); printf("%i\n",nb_lignes);
      sscanf(str, "%d %d %d %d %lf", &t, &i, &j, &l, &v);
      GHSERp(t,i,j,l) = v;
      wasNumbers = true;
    }
Не работает...Помогите пожалуйста создать такую функцию, что бы работало

Добавлено через 43 минуты 42 секунды
Счтивать начинает со второй строчки и перескакивает на 4. Читает через одну.. Почему???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2009, 15:10     считать строки из файла и вывесте конечный результать..
Посмотрите здесь:

Считать строки из файла, и вывести те что начинаются с тире C++
Считать текст из файла и вывести на экран только строки, не содержащие двузначных чисел C++
С помощью cin.getline считать все строки файла в контейнер (вектор или очередь) C++
C++ Считать строки файла и поместить в динамический массив строк
C++ Считать с файла строку типа char до знака окончания строки
Считать длину строки текстового файла C++
C++ Считать строки из файла в массив ++
Считать из текстового файла только определенные строки C++
C++ Считать текст из файла, и вывести на экран только строки, содержащие двузначные числа
Считать из файла 2 строки с числами в 2 контейнера set C++
Считать текст из файла и записать в другой только строки, не содержащие определенных символов C++
C++ Считать данные из файла от одной строки до другой

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Шерсть-На-Носу
40 / 40 / 1
Регистрация: 30.01.2009
Сообщений: 168
06.05.2009, 12:46     считать строки из файла и вывесте конечный результать.. #2
Функция readstr в порядке, работает как надо. Посмотри внимательно, может ты используешь ее не в одном месте?
Yandex
Объявления
06.05.2009, 12:46     считать строки из файла и вывесте конечный результать..
Ответ Создать тему
Опции темы

Текущее время: 04:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru