Ответы пользователя по тегу C++
  • В чем проблема с wininet.h?

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

    froex
    @froex Автор вопроса
    Как всегда, после нескольких ночей мучений и публикации вопроса, созревает ответ почти сразу. Решил так, но, может, кто-то подскажет решение лучше?
    // Количество выделенных элементов
    const int itemCount = dataViewListCtrl1->GetSelectedItemsCount();
    wxDataViewItemArray itemArray;
    // Сохранение массива выделенных элементов
    dataViewListCtrl1->GetSelections(itemArray);
    for(int i = 0; i < itemCount; ++i) {
        // получение индекса элемента в первоначальном списке
        int row = dataViewListCtrl1->ItemToRow(itemArray[i]);
        // прочая обработка
        // ...
    }
    Ответ написан
    Комментировать
  • Как реализовать на с++ url encoding decoding с utf8?

    #include <string>
    int main() {
        std::string str("Вася");
        for(unsigned char c : str)
            printf("%%%X", c);
        printf("\n");
        return 0;
    }

    Вывод:
    %D0%92%D0%B0%D1%81%D1%8F

    Можно сделать так:
    #include <sstream>
    #include <iostream>
    #include <string>
    #include <iomanip>
    
    int main() {
        std::string str("Вася");
        std::stringstream stream;
        stream << std::hex;
        for(unsigned char c : str)
            stream << '%' << std::setw(2) << static_cast<int>(c);
        std::cout << stream.str() << std::endl;
        return 0;
    }

    Вывод аналогичный.
    Ответ написан
    Комментировать
  • Как организовать модульное тестирование сетевого приложения?

    froex
    @froex Автор вопроса
    Для реализации модульного тестирования пришлось реорганизовать архитектуру программной части сервера. Недостатком была потеря времени на реорганизацию, но, благо, кода было не так уж много, чтобы что-то переправлять. Огромным плюсом стало то, что код стал красивее. Например, благодаря подстраиванию под модульные тесты, пришлось создать обработчик принимаемых пакетов, создать дополнительные очереди обработки, дать возможность программисту назначать свои обработчики и т.п. Таким образом, вся процедура проверки была сведена на уровень кода: отдельные вызовы под запуск, останов, передачу данных, их приём, их обработку. Без подстраивания под модульные тесты, вряд ли в проекте сделали бы возможность самому назначать обработчики.
    Ответ написан
    Комментировать
  • Как и чем произвести компиляцию и сборку Injector под Windows 8.1?

    Попробуйте использовать утилиту cmake, для которой есть удобный графический интерфейс cmake-gui. Принцип работы в том, что утилита cmake считывает информацию из файла CMakeLists.txt и формирует файлы, необходимые для сборки в конкретной среде разработки или для конкретного компилятора. Для Visual C++ есть отдельная опция - утилита сама сгенерирует файлы проекта Visual Studio. Проект можно будет открыть и скомпилировать из среды разработки.
    Ответ написан
  • Хранение списка параметров с возможностью обращения по имени

    froex
    @froex Автор вопроса
    Всем спасибо. Буду осваивать тогда хэш-таблицы. иного выбора, видимо, нет. Парсер, так уж и быть, напишу вручную тогда.
    Ответ написан
    Комментировать