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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ подскажите с using namespace http://www.cyberforum.ru/cpp-beginners/thread939141.html
все что ниже написано - это части класса myclass struct marked_area { long double L; int t; int num; // кол-во выбранных уч-ов }; есть такая штука marked_area *MA; есть ф-ция void myclass::area_writing( int ii, int jj )
C++ Многопоточность Всем привет, заметил в одном проекте подобный код: struct Counter { int i; } #define g_counter ACE_Singleton< Counter, ACE_Thread_Mutex >::instance() // Из нескольких потоков http://www.cyberforum.ru/cpp-beginners/thread939134.html
Multimap зацикливается C++
Всем добрый вечер, Помогите, пожалуйста разобраться с зацикленным "Not found". Поиск по названию блюда происходит нормально, а вот если ввести блюдо, которого нет - выводит миллион раз. Поиск осуществляется по значению в multimap. void Menu::SearchMenu(string dish) { multimap<Meal, Dish>::iterator it; cout<<"Search"<<" \""<<dish<<"\" "; for (it=MyMenu.begin();...
C++ Как узнать размер массива в динамической памяти?
Добрый вечер еще раз! Напишите пожалуйста как можно узнать истинный размер массива, находящегося в динамической памяти, созданными при помощи malloc или calloc. Т.к. если выделить константный размер массива в динамической памяти (например char * ptr = (char*)calloc(10,1) и заполнить его 8 символами, то функция strlen(ptr) выдаст нам 8, в то время как массив имеет размер в 10 бит, а функция...
C++ Ввод строки в динамический массив http://www.cyberforum.ru/cpp-beginners/thread939088.html
Здравствуйте! Помоги пожалуйста разобраться со следующим: Как с клавиатуры ввести строковый литерал в символьный массив, расположенный в динамической памяти без фиксированного размера? char * ptr = new char; cin >> ptr; //или char * ptr = (char*) calloc(1,1); cin >> ptr; Использование "cin" - обрубает вносимый литерал на пробеле;
C++ Компиляция нескольких файлов Создал проект на wxDevC++ таким образом: потом создал три файла в проекте: coordin.h #ifndef COORDIN_H_ #define COORDIN_H_ struct haha { подробнее

Показать сообщение отдельно
Bretbas
22 / 17 / 1
Регистрация: 05.08.2013
Сообщений: 467
Завершенные тесты: 1
16.08.2013, 21:54     Добавление строк в Вектор
Не могу понять почему строки,которые я читаю из файла не так как надо добавляются в вектор

Мой код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream>
#include "conio.h"
#include "windows.h"
#include <vector>
using namespace std;
 
  
void main()
{
vector<char*> list;
HANDLE file;
char *temp;
 
file = CreateFile(L"filemenu.dll",GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
 
DWORD In;
 
temp = new char[10];
char* c = new char;
int k = 0;
 
int i = 0;
while((ReadFile(file,c,sizeof(char),&In,NULL)) && (In > 0))
{
    if(*c != '\r') 
    {
        *temp = *c;
        temp++;
        k++;
    }
    else
    {
        *temp = 0;
        temp = temp - k;
 
        list.push_back(temp);
        cout<<list[i]<<endl; // Тут все нормально выводит
        i++;
        k = 0;
 
    }
}
cout<<list[0]<<endl; // А тут только во всех элементах одинаковые значения
cout<<list[1]<<endl;
cout<<list[2]<<endl;
 
CloseHandle(file);
 
    getch();
 
}
К примеру файл содержит: startoptionexit, где start option и exit разделены между собой символами возврата каретки '\r'.
Я считываю файл посимвольно,и если появился символ возврата каретки,то я записываю в вектор list.push_back(temp) собственно саму строку.

Суть в том,что если я в цикле этом же вывожу вектор cout<<list[i]<<endl,то все нормально выводит
start
option
exit
как и должно быть.Но вот за пределами цикла cout<<list[0]<<endl;cout<<list[1]<<endl;cout<<list[2]<<endl; он выводит
exit
exit
exit
Бред какой-то.Не пойму в чем дело.Помогите разобраться!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru