Не могли бы вы объяснить, почему для того, чтобы преобразовать массив символов, как это:символа [] против LPCSTR странного поведения
char strarr[5] = {65,83,67,73,73}; //ASCII
В LPCSTR
быть принята GetModuleHandleA()
и GetProcAddress()
, я должен первым добавить 0
к конец ?
т.е. у меня есть:
char strarr[6] = {65,83,67,73,73,0};
И только затем конвертировать в (LPCSTR)&strarr
.
По какой-то причине я не получаю первый, который работает только иногда (т. Е. Если я не добавляю 0
в конце), а если я добавлю ноль в конце - эта работа все время. Почему я должен добавить ноль?
О, и вопрос стороны - почему в C++ я должен явно указать размер массива в [], когда я инициализирую его с элементами сразу? (Если я не укажу размер, то это не сработает)
Спасибо.
Я сделал ваш вопрос немного более удобочитаемым. Пожалуйста, сделайте это самостоятельно в следующий раз, чтобы дать вашим вопросам лучшие шансы на ответ. – ereOn
Спасибо. Я буду. –