首页
学习
活动
专区
圈层
工具
发布

DWORD阵列
EN

Stack Overflow用户
提问于 2014-03-18 13:55:08
回答 1查看 409关注 0票数 0

我希望读取多个DWORDS并将它们连接到TCHAR类型的数组中。我怎么能这么做?

在结束时,数组应该看起来像一个通过尾行字符分隔的列表。

代码语言:javascript
复制
TCHAR array[MAX_PATH];

while(reading dwords)
{
lstrcat(array, dword to be concatenated);
lstrcat(array, L"\n");}

我的代码是根据别人的要求增加的。我试着用我得到的名字的方式来得到身份证。

代码语言:javascript
复制
void getProcessList()
{//snapshot la toate procesele din sistem
    HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    PROCESSENTRY32 proc32;

    TCHAR names[MAX_PATH]; //wchar_t pentru ca folosim Unicode
    char* pids=new char[200];


    if(hSnap == INVALID_HANDLE_VALUE)
    {
        cout<<"invalid handle value error!\n";
        return;
    }

    //setez dimensiunea structurii
    proc32.dwSize = sizeof(PROCESSENTRY32);

    //get info despre primul proces(se va afisa in do...while)
    if(!Process32First(hSnap, &proc32))
    {
        cout<<"Tread32First() error!\n";
        CloseHandle(hSnap);
        return ;
    }
    wcscpy(names, L"");
    //cauta in restul proceselor
    //daca nr. threaduri<3, introdu in fisierul mapat
    do
    {
        if(proc32.cntThreads < 3)
        {   
            //cout<<"Current process id(adica programul A): "<<GetCurrentProcessId()<<"\n";
            wcout<<L"Process Name: "<<proc32.szExeFile<<"\n";
            cout<<"Process ID: "  <<proc32.th32ProcessID<<"\n";
            cout<<"Thread Count: "<<proc32.cntThreads<<"\n"<<endl;

            //exclud procesul curent, nu vreau sa-l termin
            //includ celelalte procese in string, separate de newline
            if(GetCurrentProcessId()!=proc32.th32ProcessID)
            {  // sprintf(pids,"%d",proc32.th32ProcessID);
                lstrcat(names, proc32.szExeFile);
                lstrcat(names, L"\n");
            }

        }       
    }while(Process32Next(hSnap, &proc32));

    //afisez
    wcout<<names;
    //printf("asd: %d",pids);
    //scriu in fisierul mapat
    writeToFileMap(names);

    //inchid handle la snapshot
    CloseHandle(hSnap);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-18 14:11:07

如果您想使用win32进行所有操作,请使用StringCchPrintf

代码语言:javascript
复制
HRESULT hr = StringCchPrintf(names, ARRAYSIZE(names), L"%ld", proc32.th32ProcessID);
if (FAILED(hr)) {
    // Handle error...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22481525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档