Я хочу загрузить файл, а затем отобразить его содержимое. Я использую Gtkmm для этого, и я смог открыть диалоговое окно filechooser. Однако при выборе файла отображается только последний оператор в файле. Вот что я делаю:
case(RESPONSE_OK):
{
std::string line,filename;
std::ifstream fs;
while(std::getline(fs, line)) {
display->get_buffer()->setText(line);
}
fs.close();
break;
}
Нужно ли выбирать пределы текстового буфера и если да, то как мне это сделать?
set_text()
заменяет содержимое TextBuffer
, Используйте любой вариант вставить функции вместо
Это может выглядеть примерно так (может потребоваться добавить новые строки)
case(RESPONSE_OK):
{
std::string line,filename;
std::ifstream fs;
auto buffer = display->get_buffer();
buffer->set_text("");
auto insert_at = buffer->begin();
while(std::getline(fs, line)) {
insert_at = buffer->insert(insert_at, line);
}
break;
}
Других решений пока нет …