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

Использовать значения двух строк из файла - C++

Восстановить пароль Регистрация
 
Sor
35 / 35 / 0
Регистрация: 24.11.2011
Сообщений: 309
17.11.2012, 14:43     Использовать значения двух строк из файла #1
Добрый день!
Столкнулся с задачей интерактивной работы с данными из текстовых файлов (float), в которых одна строка характеризует один объект, до этого момента мне нужно было по очереди эти строки использовать, это делалось так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
    
std::vector<float> db;  //объявим вектор под значения из строки файла
 
while(getline(input,line)) //цикл чтения из файла и расчеты в нем
    {    
     db.reserve(700);         //резерв места
     std::stringstream ss(line.c_str());
     std::copy(std::istream_iterator<float> (ss), std::istream_iterator<float> (), std::back_inserter(db) );
 
                //вычисления 
    }
   //   input.close();
Сейчас мне нужно одновременно использовать значения минимум двух строк, причем зная их номер (строки нужно использовать не все подряд, а выборочно).
Как бы это реализовать? количество строк заранее неизвестно, количество элементов в строке тоже.
Заранее спасибо!

Добавлено через 14 часов 50 минут
А если, допустим, у меня куча памяти все такое.
Как создавать вектора в цикле? vec1, vec2 и тд
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2012, 14:43     Использовать значения двух строк из файла
Посмотрите здесь:

C++ Считать значения файла, найти их минимальное и максимальное значения
Как одну функцию использовать в двух проектах C++
Сравнение двух строк C++
Создать два файла целых чисел, первый содержит значения дней, а второй — значения месяцев C++
Сложение двух строк C++
C++ Использовать в задачах два класса строк: String и StringBuilder
C++ Сложение двух строк
C++ Массив строк отсортировать в лексикографическом порядке (возможно ли использовать std::sort?)
C++ Какие типы строк лучше использовать
Как использовать значения переменой с одного класса в int main() C++
C++ Равенство двух строк
C++ Какой способ конкатенации строк лучше использовать?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.11.2012, 16:06     Использовать значения двух строк из файла #2
Зачем вы строки из файла читаете, если там числа (float)? В чём смысл?
Sor
35 / 35 / 0
Регистрация: 24.11.2011
Сообщений: 309
17.11.2012, 19:14  [ТС]     Использовать значения двух строк из файла #3
Смысл в том, что каждая строка отдельный объект.

Добавлено через 24 секунды
Точнее его характеристика
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.11.2012, 19:21     Использовать значения двух строк из файла #4
Цитата Сообщение от Sor Посмотреть сообщение
Точнее его характеристика
Характеристика, что из себя представляет?

Добавлено через 2 минуты
В первом посте пишите, что данные - float. Зачем float читать как строку, а потом переводить строку в float? Может проще сразу читать как float?
Sor
35 / 35 / 0
Регистрация: 24.11.2011
Сообщений: 309
17.11.2012, 19:37  [ТС]     Использовать значения двух строк из файла #5
Характеристика формы объекта, радиусы.
Данные float, записывались вот так:
C++
1
2
3
4
5
6
7
8
String where; //куда писать
where="D:\\"+String(rgnumber)+".txt";
ofstream file(where.c_str(),ofstream::out|ofstream::app);
 for (size_t i=0;i<rad.size();++i)   //записали все радиусы        
     {
      file<<rad[i]<<'\t';
     }
file<<endl;   //сменили строку
это что-то вроде базы данных. теперь мне нужно к каждой строке отдельно обращаться и я не знаю как.
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.11.2012, 20:40     Использовать значения двух строк из файла #6
Один объект имеете много радиусов, которые записываются в одной строке через '\t' ?

Если количество элементов в строке разное, то можно, при записи в файл, сначала записывать количество элементов в строке (rad.size()) и при чтении это значение использовать. Читать можно просто через оператор извлечения >> в переменную float, а потом помещать в вектор.
Если строки пронумерованы, то нужную можно находить перебором номеров и пропуском ненужных, используя, например, ignore() до '\n'.
Yandex
Объявления
17.11.2012, 20:40     Использовать значения двух строк из файла
Ответ Создать тему
Опции темы

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