В чем разница реализации UnformattedInputFunction между libstdc++ и libc++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 В чем разница реализации UnformattedInputFunction между libstdc++ и libc++?

Сообщение Anonymous »

Я манипулирую необработанным вводом с клавиатуры в std C++.
Код работает с libstdc++, но с libc++.
При нажатии клавиши со стрелкой ВВЕРХ
  • получите вывод 1b 5b 41, если он скомпилирован с помощью g++ -std=c++23 rawkey.cpp или clang++ -std=c++23 -stdlib=libstdc++ rawkey.cpp. Это правильно.
  • получите вывод 1b, если скомпилировать его с помощью clang++ -std=c++23 -stdlib=libc++ rawkey. cpp
Итак, в чем разница реализации UnformattedInputFunction между g++ и clang++?#include
#include
#include
#include

using namespace std;

void get_raw_key()
{
auto buf = cin.rdbuf();
vector keys;
string endline("\r\n");

auto pump_buf = [&]() {
cerr sbumpc()); // buf->sgetc() buf->sbumpc() getchar() cin.get()
while (buf->in_avail() > 0)
keys.push_back(buf->sbumpc());
};

auto dump_key = [&]() {
stringstream sstr;
for (const auto num : keys)
sstr

Подробнее здесь: https://stackoverflow.com/questions/793 ... en-libstdc
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»