比如列举本机进程,把全部PID与进程名,放到一个缓冲区,,
只能定义一个内存大小么?,比如char xx[260或者更多]={0} 这样有可能装不下,,,,有别的办法么?或者定义很大的??????

解决方案 »

  1.   

    自己new char动态分配方便点用stl的string就可以了,或者用mfc的CString
      

  2.   

    用容器,Vector,Set之类的都可以
      

  3.   

    数量是可以算得到,但是,算得也不知发何分啊?因为有些进程很短也有可能很长,,
    不过那些容量不会呢
    只能用cstring这种类了?
      

  4.   

    就是说,一定要浪费空间才行??
    呃,动太数组的话,,我看看了,还是用cstring了。 
      

  5.   

    typedef struct _PROC_INFO_
    {
     DWORD dwProcessId;
     TCHAR szProcessName[MAX_PATH];
     _PROC_INFO_()
     {
       // 初始化成员
     }
    }PROC_INFO, *PPROC_INFO;vector<PROC_INFO*> vec;
    PPROC_INFO pInfo = new PROC_INFO;
    pInfo.dwProcessId = ..
    _tcscpy(pInfo.szProcessName, _T("%s"), ...);
    vec.push_back(pInfo);
    ...
    // 不需要的时候记得delete释放new分配的内存