Задать вопрос
  • Что не так в реализации моего метода?

    @res2001
    Developer, ex-admin
    Вы же умеете пользоваться отладчиком. Он вам лучше все скажет, чем кто-нибудь тут.
    Предположительно выход за границу диапазона.
    Возможно ошибка не в этом участке кода, здесь она просто проявляется.
    Думаю, что при удалении элемента нужно декрементировать не только m_size, но и i.

    PS: Я бы рекомендовал при создании нового узла обнулять указатель на следующий элемент, тогда определить конец списка можно просто по нулевому указателю и везде перед переходом на следующий элемент проверять не пустой ли он.
    Заведите переменную для хранения предыдущего узла, тогда избавитесь от внутреннего цикла, а накладных расходов минимум.
    Ну и код я бы немного реструктурировал, а то два одинаковых if идущих друг за другом режут глаз.
    Комментарии, по большей части, "ни о чем".
    Ответ написан
    Комментировать
  • Как реализовать считывание строк из файла в массив строк?

    @res2001
    Developer, ex-admin
    На сколько я понял вы пытаетесь прочитать строку из файла и сохранить ее как элемент массива arr.
    Но делаете это не правильно.
    Ваша ошибка в том, что fscanf/fgets не выделяет память для хранения строки, она использует тот буфер, который вы ей предоставите. Но вы ничего не предоставляете.
    Вам нужно для каждого элемента arr выделить память под строку:
    arr[i] = (char*)malloc(sizeof(char) * BUFLEN);
    где BUFLEN - некоторая целочисленная константа, обозначающая максимальную длину строки.
    Тогда чтение из файла, как реализовано у вас пройдет.
    В конце память выделенную с помощью malloc нужно освободить с помощью вызова free для каждого элемента массива arr.
    И не забывайте обрабатывать ошибки выделения памяти и возвраты файловых операций.
    fscanf со спецификатором формата "%s" считывает не строку, а слово - в строке может быть много слов. Для чтения строки используйте fgets, либо читайте посимвольно fgetc.
    Когда заработает, потренируйтесь на файле, содержащем строку из более чем BUFLEN символов и попытайтесь найти корректный выход из этой ситуации.
    Ответ написан
    8 комментариев
  • Как сформировать блоки по 32бита из произвольного объема входных данных?

    @res2001
    Developer, ex-admin
    1) узнать размер файла, выделить буфер под размер файла и прочитать файл оптом. Но могут быть проблемы, если файл очень большой.

    2)64 бит - 8 байт
    32 бит - 4 байта
    Представлять можно целыми числами, например с помощью union схематично так:
    #include <inttypes.h>
    ...
    typedef union {
      uint64_t val8;
      uint32_t val4[2];
    } block;
    ...
    uint8_t * readdata; 
    // Выделяем память под массив байт readdata и читаем в него 8 байт из файла (опущено)
    ....
    
    block * b = (block*)readdata;
    // После этого в
    // b->val8 - 64 битовый блок
    // b->val4[0] и b->val4[1] - два 32 битовых блока
    Ответ написан
    2 комментария
  • Как подключиться к удаленному ПК через терминальный сервер по RDP в одну операцию (win)?

    @res2001
    Developer, ex-admin
    1. у mstsc есть параметры командной строки, в которых можно задавать адрес и порт сервера, к которому подключаетесь. Но на самом деле, нужно просто с помощью того же mstsc создать RDP файл с настройкой подключения, один раз сохранить пароль и дальше подключать просто двойным кликом по RDP файлу.
    mstsc /? - в помощь

    2.Вложенное подключение можно создать с помощью настройки в том же RDP файле на закладке Program - указать команду, которая будет выполнена при соединении с сервером, командой этой будет mstsc с соответствующими параметрами.
    С какой-то версии mstsc микрософт выпилил закладку Program из интерфейса, но возможность запуска стартовой команды все равно осталась - ее перенесли в политики.
    Ответ написан
  • Почему не запускается debug?

    @res2001
    Developer, ex-admin
    Видимо потому, что нет debug.exe в каталоге, указанном в переменной окружения PATH или в текущем каталоге.
    Ответ написан
  • Как записать функцию макрасом?

    @res2001
    Developer, ex-admin
    #define fun(v, h) sqrt((h.x*h.x) + (h.y*h.y) + (h.z*h.z))
    Ответ написан
  • Создать загрузочный раздел?

    @res2001
    Developer, ex-admin
    Какая винда? Как размечены оба диска (GPT/MBR)?
    У вас на втором диске сейчас нет загрузочного раздела. В зависимости от разметки диска загрузочный раздел может быть разным. В стать от sotvm по этому поводу написано.
    В общем вам нужно для начала вручную сделать загрузочный раздел на втором диске, а затем воспользоваться советами из статьи (при этом на первом диске загрузочный раздел лучше удалить, после удаления загрузочного раздела винда у вас грузиться не будет по старой схеме).
    Если покажется слишком сложно, то вытащите первый диск и переустановите винду.
    Ответ написан
    Комментировать
  • Как добавить компилятор Visual Studio C++ в powershell\cmd?

    @res2001
    Developer, ex-admin
    Со студией поставляется комплект командных сценариев, настраивающих окружение командной строки для работы компилятора. Достаточно командную строку запускать через эти сценарии. Ярлыки на эти сценарии находятся в меню Пуск в папке студии.
    Например у меня для VS2017 есть такие:
    x64 Native Tools Command Prompt for VS 2017
    x86 Native Tools Command Prompt for VS 2017
    Соответственно для 64битной и 32битной сборки приложений. В 2015 студии есть аналогичные, только название немного изменено.
    Запускайте ком.строку через этот сценарий и все будет собираться.
    Ответ написан
    2 комментария
  • Как компилировать проект на Boost.python?

    @res2001
    Developer, ex-admin
    Похоже это статическая библиотека boost.python, видимо нужно собрать ее или взять уже собранный бинарник подходящей разрядности и добавить в опции компилятора.

    PS: год назад, то же делал модуль для питона, только на голом Си. Вполне успешно.
    Ответ написан
  • Как вытащить запрос в Batch?

    @res2001
    Developer, ex-admin
    @echo off
    set "filesrc=1.txt"
    set "filedst=filedst.txt"
    for /f "usebackq tokens=1,2,* delims=@:" %%a in ("%filesrc%") do (
    	1>>"%filedst%" echo.%%~a	%%~b	%%~c
    )

    Правда не ясно зачем, изменить формат что ли?
    Ну тогда пишите какой должен быть формат.
    В цикле в переменных:
    %%~a - имя пользователя (часть почтового адреса)
    %%~b - домен почтового адреса
    %%~c - пароль
    Если в файле источнике будут служебные символы, то наверняка появятся ошибки.
    К служебным символам относятся: &<>)(^%
    Ответ написан
    Комментировать
  • Кроссплатформенный VPN без белого IP. Аналоги Hamachi etc?

    @res2001
    Developer, ex-admin
    Купите любой VPS/VDS и поставьте там сервер OpenVPN.
    Или готовый ВПН хостинг.
    Нужен хотя бы 1 статический белый адрес для сервера.
    NAT - не проблема - порт можно пробросить.
    Ответ написан
    Комментировать
  • Как создать командный файл, который удалит файлы из списка?

    @res2001
    Developer, ex-admin
    просто перечислите все файлы в команде del, например так:
    del /f /q file1.txt file2.txt pathdir\file*.txt
    Ответ написан
    Комментировать
  • Как сделать чтобы функция перебирала только целочисленные значения x?

    @res2001
    Developer, ex-admin
    1. вариант - в вашей функции переводить в целые:
    xi = int(round(x))
    Это вариант с округлением. Если убрать round, то будет вариант с отбрасыванием дробной части.

    2. вариант - в вашей функции ничего не делать, если число дробное.
    Приведенная функция is_int - полная лажа. Проверку на целое можно сделать гораздо проще:
    def is_int(x):
      if (x % 1) == 0:
         return true
      else:
        return false


    PS: Вы подаете на вход differential_evolution массив целых чисел, она там что-то с ними делает и в вашей функции появляются дробные числа. Либо вы обходите их приведенными выше способами, либо модифицируете differential_evolution, так чтоб в вашей функции не было дробных чисел.
    Ответ написан
  • Какую Windows поставить на слабый ноутбук?

    @res2001
    Developer, ex-admin
    Windows XP будет нормально работать.
    Можно Windows 7 x32, но будут тормоза.
    Конечно, больше зависит от того что вы собираетесь на нем делать.
    Ответ написан
    2 комментария
  • В чем отличите PGP от OpenSSL?

    @res2001
    Developer, ex-admin
    На сколько я знаю PGP не поддерживает сертификаты X509, а openssl поддерживает ... хотя может уже и поддерживает. Последнюю версию Symantec PGP щупал - 10, на тот момент GPG был вообще какой-то сырой.
    Ответ написан
    Комментировать
  • Как настроить 3Com 3CDSG10PWR?

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

    @res2001
    Developer, ex-admin
    Пока вас/клиента удовлетворяет время выполнения - запрос достаточно быстрый, как только перестает - пора что-то предпринять. Часто бывает достаточно добавить в таблицу правильный индекс, чтоб запрос стал работать на порядок быстрее.
    Но как верно заметили выше - некоторые запросы не возможно сделать достаточно быстрыми из-за специфики выполняемых задач.
    Ответ написан
    Комментировать
  • Как передать путь к ярлыку (*.lnk) в приложение?

    @res2001
    Developer, ex-admin
    Нет вариантов, имхо. Это поведение оболочки виндоуз.
    Ответ написан
    Комментировать
  • Как обмануть сервер Dial-up Win98, чтобы он работал без звонка?

    @res2001
    Developer, ex-admin
    Ну и позвоните!
    На "клиенте" создайте телефонное соединение и соединяйтесь, аналогично PPP соединению. В номер в вашем случае не важно что забить, по моему. Можно попробовать "," - это пауза в наборе, на сколько помню, или просто 1.
    Когда-то давно то же была такая схема, работало без особых проблем, подробностей, конечно уже не помню.
    Автоматом соединять можно с помощью rasdial в автозагрузке, если он есть в вин98.
    Ответ написан