Потоковая часть строки

0

Я хочу, чтобы поток std::string но я хочу, чтобы сделать это без первых двух символов или двух последних символов.

Например:

string foo{"bu blah blah blee le"};

cout << foo.substr(2) << endl << foo.substr(0, foo.size() - 2) << endl;

Существуют ли для этого инструменты iomanip? или я должен просто продолжить и построить временную string s?

Теги:
string
stream
iomanip

1 ответ

1
Лучший ответ

Вы можете использовать cout.write:

cout.write(foo.c_str() + 2, foo.size() - 4);

который также возвращает поток, так что вы можете сделать:

cout << "First two: ";
cout.write(foo.c_str(), 2) << "\nAll but first two: ";
cout.write(foo.c_str() + 2, foo.size() - 2) << '\n';
  • 1
    Это не так.
  • 0
    @interjay Исправлено.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню