以前一直不理解这两种类型实际上由什么区别。
今天看了核心编程的讲解CreateProcess函数时才知道, 原来VC++会把他们放到的内存位置不同,作为常量,VC++会把PTCTSTR指向的字符串放到只读内存中,而当你的函数要对PTSTR指向的字符串写访问的时候,这样就可能导致违规访问。
因此调用系统API是,如果需要PTSTR参数时,可以把字符串拷贝到临时缓存中:TCHAR szCommanLine【】=TEXT(“NOTEPAD”);而不要直接传递TEXT(“NOTEPAD”)这样的参数,