Загрузка...

Помогите с ошибкой С++

Тема в разделе C/C++ создана пользователем Siblar 2 июл 2022. 251 просмотр

  1. Siblar
    Siblar Автор темы 2 июл 2022 0 14 дек 2019
    [IMG]
    #include <iostream>
    #include <windows.h>
    #include <msiquery.h>
    #include <cstdio>

    #pragma comment(lib, "Msi.lib")

    using namespace std;



    int main() {
    size_t const StrGuidBuffSize = 39;
    char Buffer[StrGuidBuffSize];
    UINT Index = 0;

    char BufferRead[255];

    DWORD lrn = 255;

    while (0 == MsiEnumProductsA(Index, &Buffer[0]))
    {
    ++Index;


    MsiGetProductInfoA(Buffer, INSTALLPROPERTY_INSTALLEDPRODUCTNAME, BufferRead, &lrn);

    printf("%d %s %s\n", Index, Buffer, BufferRead);
    }



    printf(" \n");

    system("pause");
    return 0;
    }
     
  2. Dezo
    Dezo 4 июл 2022 210 30 июн 2021
    В свойствах проекта надо переключить Character set с Unicode (который в Visual Studio выставляется для новых проектов по умолчанию) на Multibyte.
    [IMG]
     
    4 июл 2022 Изменено
  3. unnamed001
    unnamed001 5 июл 2022 5996 2 сен 2020
    Ты в ANSI функцию пытаешся засунуть юникод строку(wchar_t) используй либо юникод версию функции с W на конце, либо сделай как писали люди выше
     
  4. AAVE2277
    AAVE2277 7 июл 2022 5 26 сен 2019
    Нужно либо поставить многобайтовую кодировку, вместо символов юникода, либо изменить разрядность на 32
     
    1. KL9CKER
      AAVE2277, как разрядность влияет на кодировку О.о
Top
Загрузка...