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

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

Войти
Регистрация
Восстановить пароль
 
Sor
35 / 35 / 0
Регистрация: 24.11.2011
Сообщений: 309
#1

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

17.11.2012, 14:43. Просмотров 365. Ответов 5
Метки нет (Все метки)

Добрый день!
Столкнулся с задачей интерактивной работы с данными из текстовых файлов (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     Использовать значения двух строк из файла
Посмотрите здесь:

Почему в setnamedisc нужно использовать char * для установки значения, а при возвращении значения тип метода должен быть char* ? - C++
Вопрос такой, почему в методе setnamedisc нужно использовать char *s для установки значения, а при возвращении значения в методе...

Перестановка строк матрицы по возрастанию среднего значения строк - C++
Разработать программу для перестановки строк матрицы таким образом, чтобы средние значения по строкам возрастали от первой строки к...

Какие типы строк лучше использовать - C++
Недавно начал учить строки и увидел, что в С++, в отличии от Паскаля для каждого типа строк ( я нашёл только char,char*,string ) есть...

Как одну функцию использовать в двух проектах - C++
Есть функция которую нужно вызывать в двух проектах Я поместил ее в отдельный .cpp файл Проблема в том что в двух разных проектах...

Считать значения файла, найти их минимальное и максимальное значения - C++
5. Дан файл File_in.dat, содержащий 65536 целых чисел. Считать значения файла, найти их минимальное и максимальное значения. Результат...

Создать два файла целых чисел, первый содержит значения дней, а второй — значения месяцев - C++
File67. Дан строковый файл, содержащий даты в формате «день/месяц/год», причем под день и месяц отводится по две позиции, а под год —...

Массив строк отсортировать в лексикографическом порядке (возможно ли использовать std::sort?) - C++
У меня есть такая задача: надо массив строк отсортировать в лексикографическом порядке. Так вот, можно ли использовать функцию std::sort...

Смысл const char* и о том, какой тип строк лучше использовать - C++
Я никак не могу понять смысла const char*. Это строка в стиле C, я знаю. Но чем эта запись отличается от char*? Или вообще, просто char?...

Как использовать значения переменой с одного класса в int main() - C++
У меня есть 3 класса. В 2 классах есть по пару значений, которые мне нужны для окончательного вывода в int main. Скажите, как можно к ним...

Слияние двух строк - C++
Как соединить (конкатенировать) две строки на С? Помогите, пожалуйста


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 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
5416 / 4812 / 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
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.11.2012, 20:40     Использовать значения двух строк из файла #6
Один объект имеете много радиусов, которые записываются в одной строке через '\t' ?

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

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