Передаю _TCHAR
указатель в функцию
void foo(_TCHAR* somestring)
где somestring глобально объявленный TCHAR[200], далее вызываю
RegSetValueEx(..., REG_SZ, (BYTE*)somestring, sizeof(somestring));
И записывается только первый символ.
Если somestring
глобальный, то его не надо передавать в функцию - он виден и так, потому он и глобальный :) И тогда - если он виден как TCHAR[200]
- выражение sizeof(somestring)
будет размером этого массива.
Но когда вы передаете его в функцию как void foo(_TCHAR* somestring)
, глобальная переменная становится скрыта, и под именем somestring
в теле функции выступает уже совсем другая переменная - локальный аргумент-указатель. И для него sizeof(somestring)
- размер не массива, а указателя, со всеми вытекающими последствиями.
Передавайте в функцию foo
еще и длину для записи в реестр.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Решите пожалуйста 1)Дан двумерный массивПоменять местами вторую и четвертую строки 2)Все элементы массива, сумма индексов которых нечетна,...
Мне понадобился таймер который по истечению какого то времени вызывает событие, например std::functionВ Win32 API и в C# я очень часто использовал такие...
Помогите переделать програмку, чтобы она была оформлена как 3 файла - maincpp, class
Мне нужно сделать для Combobox SCROLL, но я не нашелДля едита есть ES_AUTOVSCROLL, а от для Combobox нету