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

Запись файла в string - C++

Восстановить пароль Регистрация
 
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
15.05.2014, 23:26     Запись файла в string #1
Здравствуйте. Помогите пожалуйста с решением вопроса.
Мне нужно чтобы все содержимое файла (пробелы, табуляция, символы) записались в переменную класса string.
Конструкция
C++
1
2
3
4
5
while(in) 
        {
           
            in>>AddTextFromFile;
        }
записывает в string лишь последнюю строку.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2014, 23:26     Запись файла в string
Посмотрите здесь:

Запись string в файл C++
запись в файл string C++
Запись string в файл C++
запись числа в экспоненциальной форме в string C++
запись string и функция replace C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
15.05.2014, 23:37     Запись файла в string #2
Чтение всего файла fstream
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
15.05.2014, 23:58  [ТС]     Запись файла в string #3
Почитав сделал

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if( in.is_open() )
    {
        in.seekg(0, ios::end);
        length = in.tellg();
        in.seekg(0, ios::beg);
 
        lpBuf = new char[1 + length];
        in.read(lpBuf, length);
        lpBuf[length] = 0;
        AddTextFromFile=lpBuf;
        EnterText=EnterText+AddTextFromFile;
        cout<<endl<<"Результат"<<endl<<EnterText;
        in.close();
    }
Проблема другая. Вместо пробелов в конце файла читаются "H". Как от них можно избавиться?

Добавлено через 7 минут
Код
C++
1
2
3
std::ifstream file("text.txt");
file >> std::noskipws;
std::string str(std::istream_iterator<char>(file), std::istream_iterator<char>());
Не смог заставить работать.

Добавлено через 2 минуты
Тоже не работает.
C++
1
2
3
4
std::ifstream file("text.txt");
std::ostringstream oss;
oss << file.rdbuf();
std::string str = oss.str();
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.05.2014, 00:15     Запись файла в string #4
Цитата Сообщение от parkito Посмотреть сообщение
Тоже не работает.
Что значит не работает?
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
16.05.2014, 00:18  [ТС]     Запись файла в string #5
Возможно я подключаю не те библиотеки.
Ошибки типа "недопустимый неполный тип", "неизвестный оператор".
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.05.2014, 00:21     Запись файла в string #6
Цитата Сообщение от parkito Посмотреть сообщение
Возможно я подключаю не те библиотеки.
Ошибки типа "недопустимый неполный тип", "неизвестный оператор".
Так и пишите, что не компилируется. При чём здесь не работает?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
 
int main()
{
    std::ifstream file("text.txt");
    std::ostringstream oss;
    oss << file.rdbuf();
    std::string str = oss.str();
    std::cout << str << std::endl;
    
    std::cin.get();
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2014, 00:25     Запись файла в string
Еще ссылки по теме:

C++ Запись string в бинарный файл
Запись string в бинарный файл C++
C++ Чтение/запись string

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

Или воспользуйтесь поиском по форуму:
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
16.05.2014, 00:25  [ТС]     Запись файла в string #7
Неправильно выразился. Все заработало! Спасибо!
Yandex
Объявления
16.05.2014, 00:25     Запись файла в string
Ответ Создать тему
Опции темы

Текущее время: 15:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru