• Как увеличить системный шрифт в Mac OS X 10.6?

    breefix
    @breefix
    Технолог
    В TinkerTool System есть вот такая опция:


    Результат, честно говоря, не радует (у меня элементы окон съезжают, разделители в меню иногда расползаются).
    Ответ написан
    2 комментария
  • Как исправить ошибку в MakeFile?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    ругается на g++ -I $(INCL) $(SRCS) -o $(TARGET), как можно исправить?

    Заменить пробелы в начале строки одним табом. Команды в makefile начинаются с табов.
    Ответ написан
    Комментировать
  • Способы передачи данных между ESP32 и Arduino?

    nava2002
    @nava2002
    Инженер
    Кроме UART есть SPI и I2C любой из этих интерфейсов легко программируется.
    Ответ написан
    8 комментариев
  • Где Decimal в C++?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    В библиотеках - там все есть. Ищете библиотеку и добавляете к своему проекту.
    Ответ написан
    8 комментариев
  • Где Decimal в C++?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Ну нет его в стандартной библиотеке, как и длинных чисел. Используйте gmplib, например.
    Ответ написан
    7 комментариев
  • Можно ли использовать pin 13 для подключения кнопки?

    a_u_sinitsin
    @a_u_sinitsin Автор вопроса
    Во... нашел.

    Существуют некоторые сложности при использовании вывода 13 в качестве цифрового входа. Причиной этого является светодиод и резистор, которые припаяны к этому выводу на большинстве плат Ардуино. При включении внутреннего подтягивающего резистора 20 КОм, напряжение на этом выводе установится на уровне около 1.7 В, вместо ожидаемых 5 В, поскольку светодиод и последовательно соединенный резистор на плате понижают уровень напряжения. Таким образом, вывод будет всегда находится в состоянии LOW. Поэтому, чтобы использовать вывод 13 в качестве цифрового входа, необходимо использовать внешний резистор на землю.
    Ответ написан
    Комментировать
  • У меня возникла проблема в моём коде на C++. Оно жалуется на скобку. Как это исправить?

    GavriKos
    @GavriKos
    Не на скобку, а на то что нет такой функции getline с таким набором параметров.
    ofstream - для записи в файл, и читать оттуда нельзя, и getline с таким параметром поэтому и не работает. Нужен ifstream
    Ответ написан
    1 комментарий
  • Почему HBITMAP не записывается в буфер обмена?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Из документации:
    You cannot paste a DIB section from one application into another application.


    Можно после изменения данных в DIB section сделать нормальный битмап через CreateDiBitmap.

    А еще лучше, вместо CreateDIBSection, скопируйте данные из битмапа через GetDIBits, измените их и скопируйте назад в битмап через SetDIBits.
    Ответ написан
    1 комментарий
  • Как хранить временные данные в программе на Си?

    @dima20155
    you don't choose c++. It chooses you
    В языке С вы несете отвественность за размеры массивов и обязуетесь не выходить за их предеты, в противном случае ОС накажет вас за это.
    Есть небольшое отличие строк от других типов массивов
    В С зачастую работают с null-terminated строками (https://en.wikipedia.org/wiki/Null-terminated_string).
    Запись следующего вида:
    char * filename = "data.txt";
    Присваивает переменной типа указатель на константную строку, сохраненную в самом бинарном файле (вы можете открыть exe файл и найти там эту самую строку).
    Строка представляет собой 9 символов (data.txt + \0), последний символ как раз и является нуль-терминатором.

    В общем же случае, вы самостоятельно должны хранить в отдельной переменной размер массива

    вот пример:
    https://godbolt.org/z/MW4Kxh5s8
    Ответ написан
    Комментировать
  • Как конвертировать из DEC в HEX ASCII?

    @VT100
    Embedded hardware & software.
    itoa и atoi. Вроде, они есть в компиляторе, используемом Arduino IDE.
    Ответ написан
    2 комментария
  • Почему передается некорректный адрес указателя в функцию?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Потому что переменная со спецификатором static локальна для единицы трансляции. Ты написал static button s1; в заголовочном файле, а это значит, что каждая единица трансляции в которую ты подключил этот файл получит свой собственный, независимый экземпляр переменной s1. Функция ModesInit инициализирует s1 из ModeDriver.o, а s1 из main.o останется неинициализированным.

    Исправить это можно заменив static на extern в заголовочном файле, а в одном из исходников добавив определение для переменной -- button s1;.
    Ответ написан
    1 комментарий
  • В чем преимущество полевого транзистора перед биполярным, простыми словами?

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

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    Ну, это совсем просто. Чтобы держать биполярный ключ открытым, надо ему в базу загонять ток, всё время. Т.е. непрерывно тратить энергию, поскольку там есть замкнутая цепь для электрического тока (открытый эмиттерно-базовый PN-переход).
    С полевым ключом принципиально не так. Управляющая цепь затвора - не замкнутая, поскольку между затвором и каналом есть изолирующая прослойка. Поэтому там ток не течёт, для открытия ключа достаточно подать напряжение, для закрытия - снять его. Электроэнергия на это практически не тратится (если не считать первый момент, когда заряжается затворная ёмкость). Вот и первое преимущество - экономичность в управлении.
    Второе преимущество полевика - малое проходное сопротивление (единицы миллиом, много меньше, чем у биполярного, и в некоторых случаях даже меньше, чем у замкнутых контактов). Причём чем больше управляющее напряжение на затворе, тем проходное сопротивление меньше, соответственно и меньше нагрев полевика проходящим током. Однако не надо впадать в фанатизм на этом пути - если Uупр превысит значение 15 вольт, то изоляция затвора может быть пробита, и полевой ключ (такой удобный и простой в применении) превратится в тыкву.
    Есть и другие отличия, которые проявляются только на высоких частотах.
    Ответ написан
    5 комментариев
  • Функция не работает, не понимаю почему, как можно исправить?

    @res2001
    Developer, ex-admin
    Если x и y - это min и max, то у вас ошибка:
    if (b[i] >= x || b[i] <= y)
    надо
    if (b[i] >= x && b[i] <= y)

    Копировать элементы можно с помощью std::memcpy, а не в цикле поэлементно.
    Ответ написан
    Комментировать
  • Функция не работает, не понимаю почему, как можно исправить?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    что я сделал не так, подскажите пожалуйста
    if (b[i] >= x || b[i] <= y) {
      a[j] = b[i];
      j++;
    }
    ...
    if (b[i] < x || b[i] > y) {
      a[j] = b[i];
      j++;
    }

    Условия в операторах if не являются взаимоисключающими, а значит j может стать больше чем n и запись в a[j] вылезет за границу массива.
    Я не уверен в правильности первого условия, но особо не задумываясь можно второе условие переписать как прямое отрицание первого: if (!(b[i] >= x || b[i] <= y)) и это гарантирует, что индекс не выйдет за пределы массива, вне зависимости от правильности первого условия.
    Ответ написан
    Комментировать
  • Ошибка в подсчете символов, что делать?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    считать количество русских букв, однако он не правильно это делает, что не так?

    считать русские буквы сложно, твой код зависит от кодировки и в любой не-однобайтной кодировке этот код не будет работать правильно. Проще всего, мне кажется, выкинуть charVector и весь код связанный с ним, а оставшееся переписать следующим образом:
    setlocale(LC_ALL, "");
    
    const char *str = input.c_str();
    
    while (*str) {
        wchar_t c;
        int n = mbtowc(&c, str, MB_CUR_MAX);
    
        if (n < 0)
            break;
        if (wcschr(L"абвгд...юя", c))
            ++count;
        str += n;
    }
    Ответ написан
    1 комментарий
  • Ошибка в подсчете символов, что делать?

    @dima20155
    you don't choose c++. It chooses you
    Для кодирования символов за пределами таблицы ASCII, обычно, используется юникод, в котором символы имеют коды различной длины. Кириллица же, никак не уместится в один байт, поэтому у вас в векторе абсолютный мусор.
    Используйте wchar и wstring
    Или не мучайтесь и возьмите библиотеку, например, эту
    https://github.com/nemtrif/utfcpp

    Ссылка на таблицу символов юникод для ознакомления
    https://symbl.cc/en/unicode/table/#cyrillic
    Ответ написан
    Комментировать
  • Как начать программировать с использованием DirectX?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    На прямом DirectX отрисовывать - сложно, а учитывая, что опыта нет - самоубийство.
    Рекомендую начать с SDL. Это достаточно простой (проще, чем DirectX) фреймворк для графики. Он может использовать DirectX в качестве бэка.
    Вот тут нашел пример для этой связки
    Ответ написан
    2 комментария
  • В C++ есть TCP и UDP?

    GavriKos
    @GavriKos
    В языке нет вообще ничего сетевого. Все сетевое делается библиотеками и API системы.
    Язык это другой уровень абстракции - это про семантику, синтаксис...
    Даже в C# это делается через .NET Framework. Будет другой фреймоврк - будет другая сеть.

    А так да, библиотеки есть и для TCP, и для UDP.
    Ответ написан
    2 комментария