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

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как это усовершенствовать?


    Из man scanf:
    An optional 'm' character. This is used with string conversions (%s, %c, %[), and relieves the caller of the need to allocate a corresponding buffer to hold the input: instead, scanf() allocates a buffer of sufficient size, and assigns the address of this buffer to the corresponding pointer argument, which should be a pointer to a char * variable (this variable does not need to be initialized before the call). The caller should subsequently free(3) this buffer when it is no longer required.

    Т.е.:
    #include <stdio.h>
    
    int main()
    {
      char *chars;
      scanf("%m[^\n]",&chars);
      printf("%s\n", chars);
    }
    Ответ написан
    Комментировать
  • В конце проверки hdd падает скорость. Кто сталкивался?

    Jump
    @Jump
    Системный администратор со стажем.
    Так и должно быть, это же HDD. В начале проверки головка идет по внешнему краю диска, скорость большая, в конце ближе к оси диска - скорость минимальная.
    Как результат уменьшается скорость чтения.
    Ответ написан
    1 комментарий
  • Б/у SSD: брать или нет?

    byte916
    @byte916
    Интерпретировать смарт лучше всего фирменными утилитами от производителя.
    В забракованных секторах значение 0 - что вас смущает?
    Да и в ошибках чтения у вас всё в норме - значение типичное для этой модели (и многих других). Почитайте про ошибки чтения в hdd Seagate, они тоже пишут какую то свою информацию и отображают космические цифры в этом параметре, и это норма.

    Нет повода для паники, девайс рабочий (не считая износа).
    Ответ написан
    Комментировать
  • Как полностью до нулей посадить аккумулятор li-ion физическим образом?

    Jump
    @Jump
    Системный администратор со стажем.
    Как полностью до нулей посадить аккумулятор li-ion физическим образом?

    Соединить плюс и минус любой нагрузкой - посадит гарантированно и довольно быстро.
    Иначе - только ждать пока сам сядет.

    ЗНАЮ ЧТО ЭТО ВРЕДНО
    Это не вредно.
    Ответ написан
  • Как создают программы, внедряющиеся в память другой программы/игры (чит)?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Базово существует 3 подхода:
    1) Путем чтения\записи памяти. Самый простой вариант это поиск нужного адреса памяти а далее воля фантазии в виде замены значения дав себе +1000 хп или просто чтение значения к примеру чтобы сделать wallhack. Самый простой вариант и делается очень легко.
    2) Путем инжекции в игру\программу. Пример игра использует некую стороннюю библиотеку library.dll, в случае если она опенсурс то цепляются в ней к методу типа init() и дальше копаются в игре или на асме инжектятся в нужную функцию. Сложность в том что придется восстанавливать структуры данных, искать функции и т.д. а уже потом дергать нужные с нужными параметрами.
    3) Типа MItM, пишут простенький прокси сервер который ловит весь трафик между игрой и сервером. Придется разбираться в пакетах и также восстанавливать структуры если они есть, быть очень быстрой и хранить очень много данных. Самый профитный среди всех и одновременно самый сложный. Не так давно подобным способом роняли ММ в КСГО, роняли сервера в ОВ, загубили пару онлайн ММО но давно(вечная память разрабу той универсальной софтины).

    Как правило 95% читов относятся к 1 категории public и private, оставшиеся 5% ко 2й и 3й personal и именно они самые дорогие и делаются под заказ ограниченному числу людей(часто ценник уходят за 1к бакс и выше).
    Ответ написан
    2 комментария
  • Как вывести значения в обратном порядке?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Для такого надо сначала найти максимальный разряд числа в указанной системе счисления а затем уже выводить в нужном порядке. И привыкайте давать переменным значащие имена, иначе потом сами будете путаться.
    int value = 13;
    int base = 2;
    int rank = 1;
    while (rank*base <= value)
      rank *= base;
    while (rank) {
      printf("%d", value/rank);
      value %= rank;
      rank /= base;
    }
    Ответ написан
    2 комментария
  • Как разметить SSD накопитель при установленной системе не имея CD привода?

    JohnnyGat
    @JohnnyGat
    Стараюсь писать код, понятный человеку.
    Панель управления -> Администрирование -> Управление компьютером -> Управление дисками
    Ответ написан
    Комментировать
  • Как использовать интернет одновременно от 2 провайдеров?

    Jump
    @Jump
    Системный администратор со стажем.
    А что мешает?
    Выход в интернет осуществляется через шлюз по умолчанию, если нет специального маршрута.
    Пропишите маршрут для некоторых адресов через другого провайдера и пакеты пойдут через него.
    Ответ написан
    Комментировать
  • Как перенастроить клавишу альт взамен фн?

    plin2s
    @plin2s
    IT, инженер
    Если мне не изменяет память, то Fn - это аппаратная особенность клавиатуры. Тоесть кнопка F1 посылает один сигнал, а комбинация Fn+F1 совсем другой. Fn как таковая не посылает никакого сигнала в систему.
    Таким образом вам нужно переназначать все сочетания клавиш в соответствии в итоговым кодом. Это несколько сложнее, чем переназначить одну клавишу.
    Можно поискать утилиты по ключевым словам remap/rebind keys (пример https://msdn.microsoft.com/en-us/globalization/key..., не знаю есть ли там сочетания). Но тут все зависит от функционала сочетаний.
    Например у меня есть сочетание Fn+Space, которое меняет уровень подсветки клавиатуры, но оно никак не передается в систему (хардварная реализация).
    Ответ написан
    Комментировать