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

Чтение данных из файла в вектор - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка вывода текста на экран http://www.cyberforum.ru/cpp-beginners/thread1149214.html
Добрый день! Помогите разобраться. В приложении win32 нужно вывести на экран значение переменной double или float используя strstream или stringstream или ostringstream. День пытаюсь, не получается... Вот последнее до чего дошёл: elem Result1 = 678.8f; elem Result2 = 657.9f; ostringstream X1; ostringstream X2; X1 << L"Summ: %d" << Result1;
C++ Таймер c++ как создать таймер в с++ ? чтоб с каждой секундой переменная увеличивалась на 1 или каждую секунду выводилось какое-либо сообщение. заходил в википедию но ничего не понял. http://www.cyberforum.ru/cpp-beginners/thread1149197.html
Параллельная обработка C++
Добрый день! Подскажите, пожалуйста, как параллельно считать содержимое всех файлов из директории?
Visual Studio 2010 и GNU c++ 4.8.2 C++
Будет ли код написанный в Visual Studio 2010 компилироваться GNU c++ 4.8.2 ? пример кода #include <iostream> using namespace std; int main() { int a,b; cin>>a>>b; cout<<a+b<<endl;
C++ Создать класс "карта",имеющий ранг и масть http://www.cyberforum.ru/cpp-beginners/thread1149165.html
Задача: Создать класс "карта",имеющий ранг и масть.Карту можно перевернуть и открыть. Создать класс "колода карт",содержащий карты. Создать два производных класса от "колоды карт",в одном карты могут извлекаться только по порядку, в другом - произвольно. Класс написан на 3/4, осталась случайное извлечение. Прикрепляю код: #include <iostream> #include <cstdlib> #include <ctime> using...
C++ Все знаки препинания ленты скопировать во вторую ленту, а в первой оставить только буквы Дано ленту. Все знаки препинания ленты скопировать во вторую ленту, а в первой оставить только буквы. подробнее

Показать сообщение отдельно
Zerorc
1 / 1 / 0
Регистрация: 14.03.2014
Сообщений: 44
15.04.2014, 17:04     Чтение данных из файла в вектор
Доброго времени суток. Никак не могу разобраться, поиск по форуму не помог.
У меня есть функция сохранения вектора в файл
C++
1
2
3
4
if (SaveDialog1->Execute()){
    std::ofstream output_file(SaveDialog1->FileName.c_str());
    std::ostream_iterator<int> output_iterator(output_file,"\n");
    std::copy(dataAll.begin(), dataAll.end(), output_iterator);  }
при том что вектор:
C++
1
std::vector <unsigned char> dataAll;
Сохранило построчно, окей.
Теперь проблема считать с файла в тот же вектор. Что только не пробовал..
C++
1
2
3
4
5
if (OpenDialog1->Execute()){
ifstream in_file (OpenDialog1->FileName.c_str());
unsigned char *buffer = new unsigned char[255];;
while (in_file >> buffer)
dataAll.push_back(*buffer);
C++
1
2
3
4
5
6
7
if (OpenDialog1->Execute()){
        string str ;
    ifstream in(OpenDialog1->FileName.c_str());
    while (in >> str) {
    for(unsigned i=0;i<str.size();i++)
        a+=str[i];
        dataAll.push_back(a); }
Он то читает, но читает какие-то левые значения. Вывожу на экран весь вектор и получается совсем не то.
Вроде, должно быть 1 а читает 49.
Файл:
Что в файлеЧто читает
149
149
149
149

Странно, спрашивал до этого, меня смогли только обвинить в неграмотности, а помочь так и не помогли. Неужели это такая невыполнимая задача? Как мне получить мою 1 в векторе в unsigned char? Я только учусь поэтому свое "ФЭ" будьте добры оставляйте у порога.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru