我在创建进程时传递了一些数值参数(在VC++中)
我被困在将LPTSTR转换为int的问题上。
提前谢谢。
发布于 2009-02-02 19:59:20
LPTSTR只是一个指向字符或宽字符字符串的长指针。
使用_ttoi或_tstoi进行字符宽度不可知的转换。
另请参阅
发布于 2009-02-03 01:29:03
加克!你到底想做什么?您的问题是在父进程端(调用CreateProcess() )还是在子进程端?
有几种方法可以将参数从父进程传递到由CreateProcess()函数创建的子进程。如果可以将这些参数编码为一个大小合理的字符串,那么通过命令行参数(CreateProcess的lpCommandLine参数)传递它们可能是最简单和可移植的,使用环境变量sized。
如果您的数据结构不能以合理大小的字符串进行编码(要么是因为它占用大量内存,要么是因为它不容易序列化),那么您需要求助于某种进程间通信的方法。文件或共享内存块是实现此目的的两种方式。在任何一种情况下,您都需要为孩子提供一个约定的位置来查找它(文件中的文件路径,或者共享内存块的名称),然后将该字符串作为命令行参数或环境变量进行传递。
如果您正在尝试解析子进程中的lpCommandLine参数,那么这正是其他人的建议。
发布于 2009-02-02 19:59:13
尝试使用atoi()函数(如果使用宽字符,则使用适当的版本)将字符串转换为整数。
https://stackoverflow.com/questions/504635
复制相似问题