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

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

Войти
Регистрация
Восстановить пароль
 
Ebis
0 / 0 / 0
Регистрация: 03.03.2010
Сообщений: 93
Завершенные тесты: 1
#1

Добавление строк в вектор - C++

22.11.2012, 13:55. Просмотров 319. Ответов 4
Метки нет (Все метки)

Здравствуйте!
При работе со строками возникла проблема добавления новой строки в вектор
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    vector<char*>ret;
    char tmp[255];
    FILE* f;
    bool isHave=false; 
    f=fopen(fname,"r");
    if (f==NULL)
    {return ret;}
    while (!feof(f))
    {   
        fgets(tmp,MAX_L,f); //считываем в tmp очередную строку
        isHave=Serch(tmp,str);
        if (isHave && !V)//
        {
            ret.push_back(tmp);// ТУТ поблема
        }
        else 
                  ...
    }
Дело в том, что считывая с файла строку, я помещаю указатель на нее в вектор, и при следующем считывании строка записывается по тому же адресу, и следовательно записанная ранее в вектор строка тоже меняется.
Подскажите плз как наиболее рационально решить эту проблему?

PS.Не хотелось бы создавать массив указателей на строки в цикле, а потом удалять его delete[]'ом
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2012, 13:55     Добавление строк в вектор
Посмотрите здесь:

Добавление строк в Вектор - C++
Не могу понять почему строки,которые я читаю из файла не так как надо добавляются в вектор Мой код: #include &lt;iostream&gt; ...

Считывание и добавление в вектор - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include&lt;vector&gt; using std::cin; using std::cout; using std::vector; int main() ...

Добавление объектов в вектор - C++
У меня есть класс в котором очень много объектов. Мне нужно все объекты добавить в вектор, но делать это вот так очень долго: ...

Добавление thread в вектор - C++
Здравствуйте. Прошу помощи. Выполняю задание, но возникает ошибка при добавлении thread в vector, причем, если просматривать через...

Добавление элемента в вектор классов - C++
Есть два класса Product и List. В List есть вектор vector&lt;Product &gt; _pr. Каким образом добавить новый элемент в вектор? Этот код не...

Добавление в вектор объекта класса в конструкторе - C++
Почему у меня не получается сделать вот так? vector &lt;C&gt; Vec; class C { public:

Добавление элементов в вектор. Тип vector - C++
Напишите программу, читающую строки из потока cin и сохраняющую их в векторе.

Добавление значения в контейнер вектор, находящийся в map - C++
Возникла проблема: есть файл std формата: Миша 5 5 2 3 Влад 0 3 3 4 и т.д. Из него считываются данные в map &lt;string,vector&gt;. Нужно...

Добавление строк в масив строк - C++
Такой вот вопрос как в С++ сделать масив строк(строки статичной длинны), но чтобы можна было добавить ещё строки?

Двухмерный вектор строк - C++
Столкнулся с проблемой и нужна помощь. Как создать и заполнить двухмерный вектор? vector &lt; vector &lt;string&gt; &gt; v; C int работает:...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
22.11.2012, 15:14     Добавление строк в вектор #2
Ebis, std::string вместо char*
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.11.2012, 15:15     Добавление строк в вектор #3
Проще всего string использовать.
Ebis
0 / 0 / 0
Регистрация: 03.03.2010
Сообщений: 93
Завершенные тесты: 1
22.11.2012, 16:24  [ТС]     Добавление строк в вектор #4
Спасибо за совет, так и поступил)
MrGluck
Модератор
Эксперт CЭксперт С++
6992 / 4163 / 594
Регистрация: 29.11.2010
Сообщений: 11,045
22.11.2012, 16:26     Добавление строк в вектор #5
И заодно fgets на std::fstream
Yandex
Объявления
22.11.2012, 16:26     Добавление строк в вектор
Ответ Создать тему
Опции темы

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