【发布时间】:2012-06-01 15:23:09
【问题描述】:
你能解释一下为什么,为了像这样转换一个字符数组:
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++ 中我必须在 [] 中显式声明数组的大小,当我立即使用元素对其进行初始化时? (如果我不说明尺寸,那么它不起作用)
谢谢。
【问题讨论】:
-
我让你的问题更具可读性。请下次自己做,让您的问题有更好的机会得到回答。
标签: c++ windows arrays char lpcstr