Задать вопрос
  • Как в Linux найти файлы одинакового размера?

    @res2001
    Теоретически:
    1. Делаете список всех необходимых файлов с полными путями, содержащий путь к файлу и размер
    2. Сортируете список по размеру
    3. Проходитесь по списку ищите файлы одинакового размера - они все будут рядом друг с другом. По каждому отдельному размеру файлов:
    3.1. По файлам с одинаковым размером считаете какую-нибудь контрольную сумму на выбор (MD5, CRC32, SHAXXX без разницы в общем), путь к файлу и контрольную сумму складываете в отдельный временный файл
    3.2. Полученный файл с контрольными суммами сортируете по контрольной сумме
    3.3. Проходитесь по файлу с контрольными суммами и удаляете файлы, где контрольная сумма повторяется с предыдущей
    4. Конец

    В принципе все это можно сделать не сильно сложным bash скриптом.
  • Какая структура самая быстрая для поиска по числовым ключам без хэширования?

    @res2001
    Eugene Usachev, Вам бы посмотреть профайлером что у вас съедает производительность.
    Судя по всему хэш таблица вполне подходящая структура. Возможно вектор указателей - не совсем подходит.
  • Почему я не могу сохранить изменение в файле, хотя у меня есть все права на каталог где он находится?

    @res2001
    Права на каталог может быть и есть. Есть ли права на файл? Наследование прав можно отключить.
    Возможно файл все еще открыт другим процессом.
  • Можно ли обойти блокировку OpenVPN через другой VPN?

    @res2001
    Это не "ВПН поверх ВПН", это просто цепочка из ВПН подключений.
    Но роли это не играет, возможен и тот и другой вариант.
  • Как перенести свободную память с sda3 на sda2?

    @res2001
    fwewefef,
    3. как так получается что каталог / всего имеет памяти 53GB, но в этом каталоге находится каталог на 945GB, лично для меня, как виндовс пользователя, это считается как будто есть диск с 50GB и на нем папки на 900 GB можно размещать

    Винда то же так умеет. Есть встроенная команда subst (в командной строке), которая позволяет планировать букву диска на какой-то каталог. Команда эта в винде есть давно, я ею пользовался еще в ВинХР, была ли она раньше не проверял.
  • Как писать расширенный лог OpenVPN в Windows?

    @res2001
    PavelMos,
    Хочу подсоединиться к пpoтoну

    Протон - это https://protonvpn.com ?
    С чего вы взяли, что там нужен openvpn? Судя по сайту у них своя софтина для организации ВПН.
  • Как писать расширенный лог OpenVPN в Windows?

    @res2001
    PavelMos, Видимо более расширенного лога у него для вас нет.
    Думаю стоит тут опубликовать, что выдает в лог openvpn при запуске соединения и возможно что он при этом пишет на экран.
    В любом случае ошибки должны попадать в любой лог.
  • Как писать расширенный лог OpenVPN в Windows?

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

    @res2001
    carbanak01, Проверьте ключ tls на сервер и на клиенте, должен быть идентичен. Такая ошибка может быть из-за поврежденного или не правильного ключа.
    Добавьте в клиентский конфиг опцию key-direction 1. В опции tls-auth есть 2 параметр, в случае ее inline варианта этот параметр задается с помощью key-direction.
  • Как сравнить char в с++ на пустоту?

    @res2001
    limaximy, Выводи ASCII код и просто сравнивай char с этим кодом, например сравнение с пробелом может быть таким: if( c == 32)
    При сравнении уже не нужно конвертировать в int, это нужно только для вывода на экран, чтоб выводилось число, а не символ.
  • Как сравнить char в с++ на пустоту?

    @res2001
    В char не может быть пустоты. Переменная типа char - это выделенная память в 1 байт и этот байт ВСЕГДА что-то содержит.
    Самый простой способ узнать, что там у вас за "пустота" - запустить под отладчиком и по шагам пройти по коду, останавливаясь и уточняя возвращаемое функцией значение. Другой вариант, выводить не символы (char), а ASCII код символа, например через преобразования char в int.

    Кроме того, обычно функции должны каким-то образом сигнализировать об ошибках. Каким именно, возвращаемым значением или исключением, надо уточнить в документации. Если возвращаемым значением - вы в коде должны это как-то обработать.

    Если на экран символы не выводятся, то это еще не говорит о том, что там "пустота". Некоторые управляющие символы не печатаются на стандартный терминал.
  • Как создать исполняемый файл с помощью make?

    @res2001
    Для проекта из одного файла исходного кода (хедер не считаем) не нужен make. Достаточно выполнить команду:
    gcc main.c -o name
    При условии, что программа не использует дополнительных библиотек, это будет работать.
  • Видит ли провайдер к какому порту сервера я подключаюсь при использовании протокола SSH?

    @res2001
    ВПН сервер или все таки SSH? SSH - не ВПН и наоборот.
    Впрочем не важно. В любом случае номер порта - это часть транспортного протокола, которая не шифруется.

    Но вот если ВПН внутри SSH (или наоборот), то тут другое дело - порт внешнего протокола провайдер видит, а порт внутреннего протокола - не видит. Т.к. в этом случае внутренний трафик уже будет зашифрован внешним протоколом.
  • Зачем передавать функцию как параметр через указатель с++?

    @res2001
    xfnxfn, имя функции - это указатель на функцию.
    Фактически в C/C++ при передаче функции запись func_name эквивалентна записи &func_name.
    Почти то же самое происходит и с передачей массива как аргумента функции.
  • Проблема изучения C++?

    @res2001
    Станислав Романов,
    Вообще где-то читал на хабре, что учить плюсы по книгам — худшая из идей

    Хрень какая-то. Как по мне книги для начала наиболее полезны. Дальше вы уже можете углубляться по документации, статьям в интернете и т.д. и т.п. Но начинать стоит с книг. Плюсом можно использовать все что угодно.

    Из книг, возьми Прата. В принципе подойдет любая не совсем старая, где описан хотя бы С++11/14. Но только она должна быть для новичков с упражнениями и т.п. Гнаться за последними стандартами в книгах смысла нет, т.к. база языка меняется мало, тем более, что учебники обычно сильно отстают от стандартов.
  • Проблема изучения C++?

    @res2001
    Плюсы может и не самая актуальная тема, но вполне востребованная на рынке. Гораздо востребованней того же Rust. У каждого ЯП свои ниши, где его обычно применяют. А поэтому именно в этих направлениях для языка существую отработанные инструменты (библиотеки), дающие хороший результат.

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

    В С++ никогда не было централизованной коллекции библиотек, пакетного менеджера и т.п. Стандартная библиотека есть и она достаточно не плоха, но функционал у нее ограничен (по сравнению с питоном из коробки), фактически там только низкоуровневые базовые функции и алгоритмы. Для подключения более сложного функционала, типа веб сервера, нужно либо писать его самому, используя возможности ОС, либо подключать свободные сторонние библиотеки. Свободных библиотек для С/С++ в исходниках с различным функционалом много.

    Если посмотреть, например, на ЯП Си, то там стандартная библиотека еще более скудная, чем в С++, но еще больше свободных библиотек в исходниках. Библиотеки, написанные на Си можно на прямую использовать на С++. В них, конечно, не будет ООП, но можно самому завернуть использование библиотеки в класс-обертку. Наоборот, для использования С++ библиотеки в Си нужно, чтоб этим озаботился разработчик библиотеки и предпринял необходимые действия.

    В связи с вышеизложенным, а так же из-за того, что С++ более низкоуровневый язык, стоит не повторять задачи на питоне, а брать более простые задачи. Можешь купить толстую книгу по С++ для начинающих, там обычно бывают задачи по темам, выполняй их. Выполнение более простых задач, применение решений простых задач для решения более сложных поможет развить очень полезный для программиста навык декомпозиции. Так же есть сайты, где предлагают решать задачи по программированию, можешь решать задачи там.
  • Почему для самого класса статическая переменная использует правильное значение, но при попытке вывести его, выдаёт 1?

    @res2001
    Евгений Шатунов, Полтергейст какой-то :-)
    Почему ближайшее преобразование адреса это bool, а не в size_t например?
    Риторический вопрос.
  • Вектор и класс инициализация?

    @res2001
    forward declaration поможет, только если в векторе будет ссылка или указатель на класс.
    Если в векторе предполагается размещать класс "по значению", то вариантов нет, т.к. что бы выделить память под вектор нужно иметь уже полное описание класса, а что бы полностью описать класс нужно полное описание вектора. Выполнить оба условия для вашего класса в рамках С/С++ не возможно.
    Смотри ответ maaGames
  • Почему Ctrl + D не дает коду выполняться дальше, а просто завершает программу?

    @res2001
    Вообще запускать для отладочных целей лучше всегда во внешней консоли, т.к. IDE настраивает свою встроенную консоль под себя и могут проявляться самые разные не типичные эффекты, кроме того IDE скорее всего перехватывает ввод/вывод в консоль и возможно как-то его фильтрует.
    То же касается и винды.