我想在Windows上用C ++编写程序的prcoess ID(由程序本身)在一个文件中(首选二进制)。
我看到了函数的使用:GetProcessId,但我没有设法使用它
1)如何使用?
2)如何将值转换为二进制并写入文件?
由于
答案 0 :(得分:4)
您可以使用GetCurrentProcessId()
获取当前进程的进程ID。然后,您可以使用ultoa
将该数字转换为使用基础2
(以及大小为sizeof(DWORD) * 8 + 1
的缓冲区)的字符串,然后您可以使用ofstream
或{{3}将它写入文件。
示例:
DWORD id = GetCurrentProcessId();
char buf[sizeof(DWORD) * 8 + 1];
ultoa(id, buf, 2);
ofstream f("file.txt");
f << id;
我认为通过“将值传递给二进制”你的意思是将其转换为表示形式,这样当您打开文件时,它看起来像1001011110101
或其他东西。如果您只是想将其视为一个数字,那么请不要使用itoa
,而是要完成剩下的工作。
答案 1 :(得分:2)
通过致电GetCurrentProcessId()
获取进程ID。您不需要将其转换为二进制表示,因为整数类型已经存储在二进制中。只需将其写入文件即可。