Задать вопрос
  • 44 года можно ли еще стать востребованным специалистом в IT?

    @res2001
    Developer, ex-admin
    Пока вы на нулевом уровне найдите дополнительный доход (можно, например, работать диспетчером в такси, они еще остались местами). Параллельно подтягивайте программирование. На самом деле любую сферу, сейчас программирование востребовано, только у вас уже нет времени перебирать, если выберете какое-то направление, то его и прокачивайте не отвлекаясь на другие технологии.
    Ответ написан
    Комментировать
  • С ++. Создание и запись бинарного файла?

    @res2001
    Developer, ex-admin
    1. unsigned int на большинстве платформ - 4 байта, поэтому используйте более подходящие типы для сигналов: uint16_t например.
    2. Раз количество каналов меняется, то есть смысл отделить заголовок (n и timestamp) от собственно данных каналов. Заголовок пишете отдельно, а данные каналов храните в массивах соответствующих типов и записываете целиком массив.
    3.Т.к. у вас не известно заранее количество каналов, то стоит писать в файл эту информацию (включить количество аналоговых и дискретных каналов в заголовок). 4.Так же есть смысл ввести в заголовок некую преамбулу (набор из 2-5 символов идентифицирующих ваш тип файла) и версию файла. Это поможет при последующих модификациях структуры файла.
    5.Удобно проверять получившийся файл с помощью HEX редактора 010 Editor - там можно на бинарный файл накладывать структуру и просматривать уже структурированный файл. Структуры описываются в Си подобном стиле, так что научится можно за 20 минут на готовых примерах.
    Ответ написан
    Комментировать
  • Как из программы на c++ отправлять ответ на запрос в консоль linux?

    @res2001
    Developer, ex-admin
    Генерируйте random_port > 1024 и запроса на ввод пароля не будет.
    Ответ написан
    Комментировать
  • Как разбить строку на подстроки?

    @res2001
    Developer, ex-admin
    Например ваша строка передается батнику в первом параметре:
    echo.%~nx1
    Ответ написан
  • Как редактировать скрытые расширенные атрибуты файлов в windows?

    @res2001
    Developer, ex-admin
    WinAPI тут не причем, это не аттрибуты файла (с которыми работает WinAPI), это метаинформация (теги), записанная непосредственно в файле так же как. Ищите описания нужных форматов файлов, изучайте. Наверняка есть готовые библиотеки с помощью которых можно работать с медиа файлами.
    Ответ написан
    Комментировать
  • Ошибка 0xc0000225 установка вин 10, как исправить?

    @res2001
    Developer, ex-admin
    Возможно битая память.
    Скачайте любой диагностический загрузочный образ и запустите проверку памяти.
    Можете воспользоваться adminpe.ru там в загрузочном меню есть testmem.
    Еще вариант - битый диск, но больше похоже на память.
    Ответ написан
    Комментировать
  • Разделить число на разряды c++?

    @res2001
    Developer, ex-admin
    Откройте для себя операцию взятия остатка от деления - % (в вашем случае на 10), с ее помощью ваша задача решается тривиально.
    Ответ написан
    Комментировать
  • Как избавится от ошибки?

    @res2001
    Developer, ex-admin
    Запустите вручную команду ffmpeg с такими же параметрами (имя файла, конечно подставьте какое-нибудь) - отрабатывает без ошибки?
    Модифицируйте команду так:
    FORFILES /M *.mp4 -C "cmd /c echo ffmpeg -i @file -acodec copy -vcodec copy -vbsf h264_mp4toannexb -f mpegts cut/@file.ts"
    Это просто напечатает команду, проверьте команда именно такая как вы ожидаете.
    Ответ написан
  • Какая кодировка нужна распознавания кириллицы в cmd?

    @res2001
    Developer, ex-admin
    По умолчанию в cmd установлена 866 кодировка.
    Поменять ее на 1251 можно командой:
    chcp 1251
    Ответ написан
  • Почему не работают массивы переменной длины?

    @res2001
    Developer, ex-admin
    Поддержка VLA (и вообще всех новых расширений языка), действительно, зависит от компилятора.
    Например в MSVC, по моему, до сих пор поддержки VLA нет.
    Официально микрософт заявляет о поддержке С90: https://docs.microsoft.com/en-us/cpp/c-language/an...
    Но в компиляторе присутствуют расширения языка (по умолчанию включенные), список расширений можно посмотреть в описании опции компилятора /Zc, и VLA там нет.
    При том, что присутствуют некоторые расширения из С++17.
    Кроме того присутствуют некоторые вещи, которые появились в С99, но их в "расширениях" нет, они уже вошли в компилятор "по умолчанию", например переменное количество аргументов в #define.
    Ответ написан
    2 комментария
  • Найти частоту дискретизации,?

    @res2001
    Developer, ex-admin
    Минимальная частота дискретизации в вашем случае 10.2 КГц.
    Ответ написан
    Комментировать
  • Почему точность вычислений в float нарушается для чисел определённой степени двойки?

    @res2001
    Developer, ex-admin
    Да, точность чисел с плавающей запятой не гарантирована. Почитайте статью на википедии, она вполне адекватна.
    Не считайте деньги в плавающих числах :)
    Ответ написан
    Комментировать
  • Как используются ссылки и указатели в С++?

    @res2001
    Developer, ex-admin
    Указатель - это такая же переменная как и все остальные, т.е. область памяти для хранения целочисленного значения. Чтоб ее использовать, ее нужно сначала инициализировать корректным значением, иначе получите ошибку/предупреждение на этапе компиляции.
    Т.е. чтоб использовать *p, в p должно лежать корректное значение, поэтому перед этим оператором идет присваивание. В принципе ваш пример откомпилируется, но скорее всего он вызовет падение программы, т.к. адрес 0x1010101 взят с потолка и скорее всего укажет в нераспределенную область памяти. Может и не вызвать падение, тут уж как повезет.
    Ответ написан
    Комментировать
  • Как избавиться от ошибки Try again later в Windwos Store?

    @res2001
    Developer, ex-admin
    Можете еще проверить обновление винды, если так же будет завершаться с непонятной ошибкой, то вы не первый пострадавший.
    Можете подождать, вдруг в этот раз проблема действительно в мелкософте.
    Лично мне проблему решить не удалось, это было примерно пол года назад (я тогда то же ждал неделю или две, просто руки не доходили плотно заняться). В итоге переустанавливал винду.
    И у других соратников по несчастью, которые писали аналогичные вопросы тут, на сколько я знаю, так же дело разрешилось переустановкой.
    Ответ написан
    1 комментарий
  • Как закрыть фоновый экземпляр программы?

    @res2001
    Developer, ex-admin
    Используйте любой механизм межпроцессного взаимодействия (IPC) - сокеты, каналы, именованные мьютексы, общая память, ...
    Просто посылаете сообщение второму процессу, чтоб он закрылся.
    Ответ написан
    Комментировать
  • Есть ли разница между двумя функциями?

    @res2001
    Developer, ex-admin
    Ваша функция работает делает свое дело за 1 проход по массиву, второй вариант - за shift проходов - сложность O(N) и O(N*shift) соответственно. Во втором случае скорость зависит от величины сдвига, что очень плохо для такого алгоритма.

    Циклический сдвиг массива "на месте" реализуется с помощью трех операций revers (операция изменения порядка элементов на противоположный):
    1.весь массив делится на 2 массива в точке сдвига (условно, без выделения памяти)
    2.revers первой части
    3.revers второй части
    4.revers всего массива
    Встречал на stackoverflow реализацию на Си.
    Работает за 2 полных прохода с операциями swap по массиву - O(2*N), но каждая операция тяжелее чем в ваших вариантах. Но быстродействие не зависит от величины сдвига и не требует дополнительной памяти, что может быть важно при работе с массивами большой размерности.
    UPD: вспомнил, этот способ был описан в книге Бентли "Жемчужины программирования"!
    Ответ написан
    Комментировать
  • С++ Как поменять символ на другой?

    @res2001
    Developer, ex-admin
    a[2]='n';
    В двойных кавычках - это строка с завершающим нулем, даже если она содержит 1 символ. В одинарных кавычках - символ.
    Ответ написан
    Комментировать
  • Почему findstr в батнике ведёт себя неадекватно?

    @res2001
    Developer, ex-admin
    Немного переделал, как мне представлялось правильным - должен выводить в лог дату/время когда узел недоступен.
    @echo off
    set "iptoping=127.0.0.1"
    set "pdir=C:\pinglog"
    echo Пингуем %iptoping% пакетами по 5000 байт с выводом в %pdir%\ping_%iptoping%.log. Для завершения закройте окно.
    1>nul 2>&1 md %pdir%
    >"%pdir%\ping_%iptoping%.log" (
    for /l %%i in () do (
       for /f "delims=" %%a in ('ping -l 5000 -n 1 %iptoping% ^| findstr "Превышен Заданный Ответ" ') do echo.%date% %time:~0,8% %%a
      )
    )

    Не могу понять нафига в пинге параметр -l?
    И все таки нужно воткнуть паузу, а то получается какая-то DoS атака.
    Ответ написан
    4 комментария
  • Как добавить в цикл поиска несколько названий?

    @res2001
    Developer, ex-admin
    Фильтровать лучше не в for, а непосредственно в dir:
    dir /b /s z:\*.jpg z:\*.png >>%t%
    И ваш for преобразовывается в такой вид
    For /F "usebackq Delims=" %%I in ("%t%") do copy "%%I" "%c%\"


    Альтернативный вариант:
    Я бы все сделал на xcopy. Изучите ее ключи: xcopy /?
    Это достаточно мощная команда, по моему, несколько ее вызовов может заменить весь ваш скрипт.
    Ответ написан
    7 комментариев