С/С+ какую среду и компилятор выбрать, чтобы всё работало? wcin - в подсказке для std: но он не слен std нееет!

Статус: Offline
Реєстрація: 08.04.2009
Повідом.: 18271
С/С+ какую среду и компилятор выбрать, чтобы всё работало? wcin - в подсказке для std: но он не слен std нееет!

Я заебался уже пытаться принять с консоли в LPCWSTR, или какой другой wchar_t

В студии, начиная с 2008 похерили std совсем, в 17й єкспериментально добавили, но я не смог запустить.
Установлены цыгвин и мингв.
Задача - получить с консоли стандартными средствами С/С++ длинное имя, чтобы применить на винапи для директорий.
Естественно, они понимают LPCWSTR. И естественно, его надо получить из строки.

std::(віпадающее меню)
Ожидание
ddbc2f.png

Реальность
[Error] F:\proj\Ci\test2\main.cpp:76: error: `wcin' is not a member of `std'

Что, блядь, за бред?
C-Free 5/0 с собственным minGw.

В Визуалстудии std вообще отсутствует как класс.

И шо с єтим делать?
Могу пользоваться только нативными C/C++ и винапи.

_mkdir не предлагать - он не умеет длинные имена.

P.S. Для c++ под винду хоть что-то реально рабочее есть?

P.P.S. АААААААААААААААААААААААААААААААААААААААААААААААААААААА!
Спасибо, орнул.
 
:рл: Каждый вопрос по С/С++ набирает просмотры как, сцуко, модный канал в ютубе.
Только ответы не набирает...
 
Повторно напал на студию 2017.
Заставил понимать std и прочее...

Сцуко, что ж такое корявое всё?

Схерали wcin при вводе режет строку, как только встретит кириллический символ?
 
Сука, как сделать, чтобі кодировка вводимого через wcin текста - совпадала с кодировкой, в которой я его же эхом выведу?

Бред какой-то... Писать руками - пишет по русски, принял строку, вывожу назад - болт... краказяблы.
 
Даже не так.. а так
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
setlocale(LC_ALL, "Russian");

Вот, теперь совпадает кодировка ввода и вывода.

Приколы начнутся когда я начну пытаться создать директорию из этой строки?
 
Может заняться чем-то другим?

А может кто-то, кто пишет, якобы, IDE под С++ будет хоть проверять их, как они работают?
Кодеблокс упорно не хочет подключать цигвина с мингвом 64бит, С-фри - подключил свой мингв, не хочет подключать внешний (наверное, тоже из за 64 бит) и при компиляции сообщает, что wcin - не член std::, хотя он показывается в подсказке.
В студии 2008 - std не захотело видиться принципиально
Еклипс тоже не смог подружиться с компилятором (может я плохо старался, но мне уже настопиздело к тому моменту).

И на конец то.. студия 2017 решила шо она готова с этим справиться.
Совсем, бля, тру-Си/С++ решение... IDE заточеное под .NET использовать для Си... :D
В прочем, уже пох - язык он нормально понимает, и компилятор не глючит. Ну не принимает обычный cin мультибайт. И перекодировать - тот ещё гемор, зачем если есть встроенные возможности.
А _mkdir не понимает пути с пробелами и надо КриэйтДир из винапи.
Короч, студия17 всё поняла. Просто бомбит от софта, который в самый неподходящий момент начинает выделываться.
Например, невозможность wcin - я обнаружил, написав пол-программы. До этого видел в подсказке и думал, что работает.

Короч, софт для С/С++ - говно из говна, писаное говном на говне. Просто, блядь, неимоверное говно.
На МК он развивался и я проблем там не видел вообще таких, как тут.
Для ПК берёшь - и понеслась... всё будет глючить. Обязательно всё.
Оно же, в большинстве - под линух писано, а там глючит всё по определению, пока его руками не допишишь, или кто-то не допилит.

Вот.
Высказался.
 
Последний раз когда сталкивался с С++ под Windows - работал в DC++ и вроде никаких проблем не было.
Хотя давно это было и не помню шо там было с длинными именами.
 
ОК
Слава, ХЕЗ, я где-то пользую Qt , где-то Eclipse

Qt - не тру считается.
Эклипс я не смог подружить с компилятором. Можно скурить, конечно, мануалы, но для моей задачи оказалось проще запустить 2017ю студию.
Всё работает так, как должно. Ну да... тоже не совсем она для того, но с пониманием стандарта у неё всё как-то лучше.

К стати, эклипс с чем используешь? Qt, к стати, тоже какой коп=мпилятор скармливаешь? Я ставил Qt, на вид ничего, но с пол-пинка не пошел и был отставлен.
 
Последний раз когда сталкивался с С++ под Windows - работал в DC++ и вроде никаких проблем не было.
Хотя давно это было и не помню шо там было с длинными именами.

DC++ это файлообменник :) Кто такой DC++?
P.S. Обработка длинных строк - в либах. Если либы есть - она работает. А они есть - это стандартные либы С++ и переменные. wchar_t, вроде с Си ещё тянется.
 
Qt - не тру считается.
Эклипс я не смог подружить с компилятором. Можно скурить, конечно, мануалы, но для моей задачи оказалось проще запустить 2017ю студию.
Всё работает так, как должно. Ну да... тоже не совсем она для того, но с пониманием стандарта у неё всё как-то лучше.

К стати, эклипс с чем используешь? Qt, к стати, тоже какой коп=мпилятор скармливаешь? Я ставил Qt, на вид ничего, но с пол-пинка не пошел и был отставлен.

Попозже, ОК?
 
Посмотрим на Dev C++ по свободе. Может годный, он есть, и, вроде развивался.
Там используется какой-то TDMGCC

Посмотрел - подсказок нет. Дебагер полурабочий, по кнопке следующая инструкция, или продолжить - с брэклайна не уходит.
Со второго раза дебагер зашуршал. Пришлось заврыть и переоткрыть, открыв файл через файлопен.
Отсутствие подсказок не радует.
 
Попытка закрыть "крестиком" отлаживаемый терминал - приводит к зависанию всей проги.
 
Проорался.
Подсказки, оказывается есть. Но они выполнены по задротски, на них постоянно гнали юзеры, и теперь из коробки оно ткпо отключено :)
Если бы не спросил гугл - среда шла бы в мусорку просто потому, что авторам было лень изменить положение подсказки относительно курсора и проще было их в дефолте отключить :)
Как я люблю фриварь иприсущие ей решения...
 
Вопрос остается открытым и даже немного дополнился.
Из прог, умеющих компилить под вынь, но не требующих для запуска С++ рунтайм от мелкомягких - определился один Dev C++ (может кодблокс сможет, но с ним тоже не всё сахарно).
У Dev C++ с родным мингвом - какие-то дикие проблемы с поддержкой С++11

Вопрос - кроме мелкософтовских компиляторов кто-то С++11 нормально поддерживает вообще? А-то кодеблокс его включил, но .imbue у него - не член класса для fstream, а
file << L"<? xml version = \"1.0\" encoding=\"windows-1251\"?>" << endl;

вызывает глубокое непонимание аргумента (file это wofstream).

Так вот, вопрос извечный - есть ли такой компилятор, который просто нормально компилит без бубнов? А-то на хабре целая статья по подключени. С++11 ко всем животным этого зоопарка. И мне, чёт, нахуй неохота этим заниматься. Но вопрос остаётся - есть ли что-то, что заменяет MS VS с сохранением жизнеспособности кода?
 
Назад
Зверху Знизу