Я пытаюсь заполучить завершающие символы новой строки на std::stringstream
объекте после сброса в него каких-то вещей. Сейчас я бы попробовал что-то вроде этого:
const char* inputvalue = "My line\n";
std::stringstream stream;
stream << std::string{inputvalue};
stream.seekp( -1, std::ios_base::end );
if( stream.peek() == '\n' ) {
stream << " ";
} else {
stream.seekp( 0, std::ios_base::end );
}
Это самый эффективный способ сделать это, т. Е. Меньшее количество инструкций процессора и времени?
В качестве примечания, могу ли я полностью удалить последний символ новой строки, кроме ввода пробела, чтобы избавиться от новой строки без ущерба для производительности?