关于ptstr 和PTCSTR

来源:互联网 发布:亦什么淘宝店铺名字 编辑:程序博客网 时间:2024/06/03 11:17

以前一直不理解这两种类型实际上由什么区别。

今天看了核心编程的讲解CreateProcess函数时才知道, 原来VC++会把他们放到的内存位置不同,作为常量,VC++会把PTCTSTR指向的字符串放到只读内存中,而当你的函数要对PTSTR指向的字符串写访问的时候,这样就可能导致违规访问。

因此调用系统API是,如果需要PTSTR参数时,可以把字符串拷贝到临时缓存中:TCHAR szCommanLine【】=TEXT(“NOTEPAD”);而不要直接传递TEXT(“NOTEPAD”)这样的参数,