• Возможно сделать иначе?

    @res2001
    LIREN, Смотрите пример по ссылке, там и заполнение и выравнивание и задание ширины полей есть. Немного поэкспериментируйте и читайте документацию. Все получится.
  • Что должен уметь делать Python разработчик?

    @res2001
    Математика в программировании нужна только в некоторых областях, где она используется. Например математические рассчеты и моделирование, ИИ, ЦОС, gamedev.
    Но для программиста математика полезна в том смысле, что она близка к программированию по "способу" мышления. Т.е. если у вас с математикой нормально, то велики шансы, что и программирование взлетит. Если нет - может не взлететь. Или взлетит, но придется приложить больше усилий. Как-то так.
    Букварь надо учить и таблицу умножения. А питон надо ... тренировать. Делайте больше практических упражнений. Придумайте свой проект и попытайтесь его реализовать.
  • Как корректно отслеживать завершение потоков?

    @res2001
    Не знал, что такое есть.
    Но надо иметь ввиду, что это
    These functions are nonstandard GNU extensions; hence the suffix "_np" (nonportable) in the names.

    т.е. не стандартное расширение gcc.
  • Как корректно отслеживать завершение потоков?

    @res2001
    CommonX,
    Есть ли вариант проще?

    Вы кроме первого абзаца моего ответа ничего не прочитали? Или варианты не подходят?

    Когда вы проверили другими средствами, что поток завершился, то вызов join не будет ждать. Чего ждать, когда поток уже завершен? Он сразу вернет управление.
  • Собрал ПК, вечные синие экраны (bsod) с разными ошибками. В чём проблема?

    @res2001
    Даник, Похоже все таки проблемы с памятью.
    Т.к. комп у вас новый, то рекомендую добиться воспроизводимости ситуации и нести комп в сервис продавца, там опишите как воспроизвести ошибку. Пусть диагностируют, замена должна быть гарантийной.
  • Почему считывается с файла только 1 слово, а не весь текст?

    @res2001
    ashot_powershot, Да и еще.
    Вам нужно определится вы хотите записывать файл в двоичном режиме или в текстовом.
    Если в двоичном, то и открывать файлы нужно в двоичном и применять подход с сериализатором, о котором я писал.
    Если в текстовом, то с длинной address можно поступить еще другим способом. address.c_str() писать после всех числовых данных, как последнее поле. И после адреса добавлять в файл перевод строки. Таким образом у вас на одной строке будет распологаться 1 объект.
    При чтении, сначала читаете числа, затем оставшуюся строку до символа конца строки - это и будет address.

    Вообще при чтении данных из любого потока (файл, сеть, буфер и т.д.) есть только 3 варианта отделить одно поле от другого в потоке:
    1. Вы изначально знаете размер поля в потоке и читаете именно столько байт, сколько требуется. Это работает для всех стандартных числовых типов.
    2. Если данные переменной длины (std::string), то
    2.1. Сначала пишем длину данных. Сама длина данных должна иметь фиксированный размер, затем читаете данные. Длину надо писать до самих данных, что бы при чтении сначала прочитать длину и определить сколько после нее идет данных.
    2.2. Используете разделитель. Т.е. пишете данные переменной длинны и в конце данных вставляете символ разделитель. Это как раз вариант с переводом строки, где символ перевода строки является разделителем. Если бы у вас в классе Home было несколько строк, то их можно было бы писать друг за другом вставляя между ними какой-то другой разделитель, например символ '\0'
    Других вариантов не существует.
  • Почему считывается с файла только 1 слово, а не весь текст?

    @res2001
    ashot_powershot, Писать напрямую, можно только те классы, которые содержат в качестве членов данных только простые типы (POD) и не содержат виртуальных функций.
    Таким образом можно немного схитрить. Например заменить string address, на char address[MAX_ADDRESS_LENGTH]; И тогда можно не писать сериализатор, и записывать в файл напрямую (как сейчас).
    Но я бы не советовал так делать. Вам нужно понять проблему и научится ее решать, т.к. на практике это встречается очень часто и не всегда эту проблему можно обойти.
  • Почему считывается с файла только 1 слово, а не весь текст?

    @res2001
    ashot_powershot, Так и есть. Проблемы у вас из-за string address;
    std::string нельзя вот так на прямую сохранять в файл и читать.
    Причину и решение описывал выше.

    Когда вы пишите std::string в файл, то писать нужно не сам объект, а std::string.c_str() и еще перед этим надо записать длину строки, чтоб потом знать сколько байт из файла надо прочитать для строки.
    Конкретно для вашего класса, можно поступить немного по другому, перед записью класса вычисляете общую длину класса, затем пишете home, floor, room, square как обычно. Длина address вычисляется из длины класса - sizeof(home, floor, room, square). Длина класса при этом это не sizeof(Home), а sizeof(home, floor, room, square) + address.size().

    В общем добавляете к классу 2 метода сериализатор и десериализатор.
    Сериализатор принимает в параметре ostream и пишет класс в поток, как я описал выше.
    Десериализатор принимает в параметре istream и загружает класс из потока в обратном от записи порядке.

    Это касается не только std::string, но и любых объектов, у которых в данных есть указатели или ссылки. Например std::vector, да и любой контейнер из std. А так же любой ваш собственный класс. Все подобные классы требуют специального подхода для записи и чтения.
    Аналогично классы с виртуальными методами, т.к. в таких класса, помимо данных самого класса, есть еще и указатель на таблицу виртуальных функций, которую не нужно сохранять в файл (и читать из файла).
  • Собрал ПК, вечные синие экраны (bsod) с разными ошибками. В чём проблема?

    @res2001
    Даник, На голой свежеустановленной винде удалось повторить сбой?
  • Собрал ПК, вечные синие экраны (bsod) с разными ошибками. В чём проблема?

    @res2001
    Даник,
    Оставьте минимальное количество подключенного железа,

    Это делал? Физически отключить все диски, видео (оставить набортное, если есть), что-то еще, оставить 1 плашку памяти. С такой минимальной конфигурации надо начинать тесты с помощью диагностической флешки.

    Тут уже писали о случаях, когда материнка коротит о корпус, то же исключить.
  • Собрал ПК, вечные синие экраны (bsod) с разными ошибками. В чём проблема?

    @res2001
    Даник,
    Проблема в том, что я не могу вызвать синий экран.

    Значит надо попытаться вызвать эти обстоятельства. Сначала на голой свеже установленной винде. Увеличьте время тестирования.
    Затем добавляя по одному драйверу или софту. Как начнутся сбои - виновник, скорее всего, последний установленный драйвер/софт.
    Если сбои начнутся на голой винде - несите комп в сервис продавца, проблема все таки аппаратная.

    Если нагрузочные тесты и тесты видео не вызывают сбоев, то видимо с охлаждением все нормально.

    На самом деле, подобные непредсказуемые сбои, похожи на проблемы с оперативной памятью или с блоком питания. Проблемы с памятью выявляются тестами. С блоком питания в домашних условиях - только заменой на заведомо исправный и достаточной мощности.
  • Как получить размер страниц по списку?

    @res2001
    Как связан cmd и ssh?
    Через cmd встроенными средствами сделать нельзя.
    Если найдете какую-то стороннюю консольную утилиту, которая может выдавать эту информацию, то можете в скриптах использовать ее.
  • Собрал ПК, вечные синие экраны (bsod) с разными ошибками. В чём проблема?

    @res2001
    Даник, Вы же сами пишите, что:
    Это были aswsnx.sys (аваст)

    Так что аваст в топку. Если виновник сбоев аваст, то от него по любому придется отказаться.

    всё из перечисленного делал

    Что именно делал и результаты сделанного сообщите?

    Тесты сами по себе проблему не решают. Они лишь могут привести к нахождению причины сбоев.
    Если вы тестами не выявили проблем в оборудовании. Значит проблема в софте.
    Первое, что нужно сделать - удалить аваст и посмотреть как комп будет себя вести дальше.

    Если после аваста сбои будут повторятся, то я бы уже переустановил винду, погонял какие-нибудь нагрузочные тесты, поставил 1 драйвер, тесты, второй, тесты, ... ну думаю смысл понятен. Кода драйверы закончатся, можно начинать ставить по одному софт, который у вас стоял, и точно так же тесты после каждого. Тесты тут уже нужно проводить в самой винде, а не с загрузочной флешки.
    Так можно вычислить виновника сбоев. А дальше уже решать, что с ним делать.
  • Собрал ПК, вечные синие экраны (bsod) с разными ошибками. В чём проблема?

    @res2001
    1. Аваст в топку. Может это уже снимет вашу проблему.
    2. Сделайте диагностическую загрузочную флешку.
    Оставьте минимальное количество подключенного железа, в т.ч. и только 1 плашку памяти.
    Загрузитесь с флешки и тестируйте.
    Начинайте с теста памяти по одной плашке. Несколько часов. Добавляя постепенно все ваши плашки памяти и заново прогоняя тест.
    Затем тест диска, видео, стресс тест процессора.
    3. Если на тестах все будет нормально, то проблема в глючном драйвере или в другом установленном софте.
  • Как написать батник для перезапуска Outlook?

    @res2001
    wexvellencex, Ясно. Ну раз его по любому приходится закрывать принудительно, то taskkill ему еще больше не навредит.
  • Почему скорость интрнета значительно падает при включении клента OpenVPN на Wi-Fi роутере?

    @res2001
    Попробуйте поднять ExpressVPN на компе и замерить скорость, без других вариантов ВПН. На роутере при этом ВПН выключите. Если на компе скорость будет выше, то, возможно, роутер не справляется с шифрованием большого потока трафика.

    PS: зачем вам столько ВПН сервисов одновременно?
  • Как написать батник для перезапуска Outlook?

    @res2001
    wexvellencex, Я то же сталкивался с подобной проблемой с оутлуком. На сколько помню, оутлук можно было закрыть вручную в таком случае. После повторного запуска проблема исчезала.
    У вас руками не закрывается?
  • Как написать батник для перезапуска Outlook?

    @res2001
    wexvellencex, Посмотрите в сторону других инструментов.

    Кстати, как вы планируете использовать этот скрипт? Пользователь должен будет сам его запускать?
  • Как написать батник для перезапуска Outlook?

    @res2001
    wexvellencex, Не скрипт сам по себе, а принудительное закрытие процесса оутлука, без возможности корректно завершить приложение.
    Возможно стоит поискать более гуманные варианты закрытия оутлука. Например, можно отправлять оутлуку комбинацию клавишь Alt+F4, что должно вызвать корректное закрытие процесса. Или сообщение WM_CLOSE из WinAPI.
    Отправлять комбинации клавиш произвольному приложению можно с помощью autoit или nircmd, возможно они же умеют отправлять и сообщения.

    Кстати, в интернетах пишут, что если не использовать флаг /f в taskkill, то приложению будет отправлено сообщение WM_CLOSE, что вам и нужно. Хотя в справке самого taskkill об этом ничего не сказано.