void DumpEnvironmentStrings()
{
#define MAX_ENVIRONMENT_NAME_LENGTH (128)
#define MAX_ENVIRONMENT_VALUE_LENGTH (1024)
LPTSTR lpszEnvString = GetEnvironmentStrings();
if(NULL == lpszEnvString)
{
return ;
}
TCHAR* pEnvBlock = lpszEnvString;
const TCHAR szToken = _T('=');
TCHAR szName[MAX_ENVIRONMENT_NAME_LENGTH] = {0};
TCHAR szValue[MAX_ENVIRONMENT_VALUE_LENGTH] = {0};
while('\0' != *pEnvBlock)
{
if(szToken == *pEnvBlock)
{
pEnvBlock += _tcslen(pEnvBlock) + 1;
continue;
}
TCHAR* pToken = _tcschr(pEnvBlock, szToken);
if(NULL == pToken)
{
break;
}
memset(szName, 0, sizeof(szName));
memset(szValue, 0, sizeof(szValue));
StringCchCopyN(szName, _countof(szName), pEnvBlock, pToken - pEnvBlock);
StringCchPrintf(szValue, _countof(szValue), _T("%s"), pToken + 1);
_tprintf(_T("%s : %s\r\n\r\n"), szName, szValue);
pEnvBlock += _tcslen(pEnvBlock) + 1;
}
FreeEnvironmentStrings(lpszEnvString);
lpszEnvString = NULL;
}
// 测试代码
#include "stdafx.h"
#include <Windows.h>
#include <strsafe.h>
int _tmain(int argc, _TCHAR* argv[])
{
DumpEnvironmentStrings();
return 0;
}
输出进程相关联的环境变量信息
最新推荐文章于 2025-01-09 16:48:03 发布
本文介绍了一个使用C++实现的函数,用于解析和打印环境变量的名称和值。通过遍历环境变量字符串并识别等号分隔的键值对,该函数展示了如何在C++中操作和获取系统环境变量。
1737

被折叠的 条评论
为什么被折叠?



