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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка в массиве http://www.cyberforum.ru/cpp-beginners/thread705455.html
#include <stdio.h> /* * No description */ class Action { private: int n; TStud *mas; public:
C++ Одномерный массив. Считать из файла, найти количество элементов, удовлетворяющих условию Одномерный массив Х(15) считать из файла *.txt (файл создать самим). Найти: Количество элементов, удовлетворяющих условию -0,5<sin(xi)≤0, минимальный элемент. ПОМОГИТЕ ПОЖАЛУЙСТА http://www.cyberforum.ru/cpp-beginners/thread705438.html
нужна программа на завтра C++
нужно написать программу с помощью условия (if, else), цикла(ов) и while. первую и вторую. буду очень благодарен.вариант 17 если что. 16 не нужно. я бы и сам написал. но не успеваю. задают очень...
C++ Пробелы в массиве
всем привет! подскажите пж, почему не считает количество пробелов? #include <string.h> #include <iostream.h> #include <stdio.h> #include <math.h> int main() { char str;
C++ Область видимости и время жизни переменных внутри класса http://www.cyberforum.ru/cpp-beginners/thread705426.html
Есть класс, определение в файле myclass.h, реализация myclass.cpp Как и где правильно определить глобальную переменную, чтоб ее значение сохранялось все время жизни класса, т.е. ее значение можно...
C++ Одномерный массив макс мин Вообщем не могу выполнить 1\2 сумму нашел всё работает нормально но вот макс мин не могу найти и поменять местами мб подскажите что куда ) #include "stdafx.h" #include <iostream> using namespace... подробнее

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

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

22.11.2012, 13:55. Просмотров 336. Ответов 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[]'ом
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru