LINUX.ORG.RU

вопрос по библиотеке c++


0

0

пытаюсь прочитать строчку из файла в std::string:

std::istream if;
std::string str;
if >> str;

но >> читает только до первого whitespace, а мне нужно
до перевода строки. Есть ли какой-нибудь манипулятор или
еще что-нибудь, что может мне помочь?

Про getline не надо рассказывать, я ее использую сейчас,
но это неудобно.

anonymous

А в чем проблема с getline?

kswapd
()

С getline никаких проблем. Еще раз скажу - проблема с оператором >>.

При чтении при помощи getline нуэно самому выделять память, а если делать >> в строку, то ее выделяет библиотека.

anonymous
()

> При чтении при помощи getline нуэно самому выделять память
Это еще зачем?

"tmp.c"

#include <iostream>
#include <fstream>

int main()
{
    std::ifstream ifs;
    std::string str;
    ifs.open("tmp.c");
    getline(ifs, str);
    std::cout << str;
    ifs.close();
};

Delay ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.