在windows api中有部分api具有如下的特性:
该API函数返回一定数量的数据,且可以在第一次调用该函数时,将某些参数置空或标记特殊值来返回返回数据的数量,这样,可以在程序中通过分配适量缓冲区,在第二次调用该API时,函数将数据填入该缓冲区中。
谁能举例一些这样的函数?

解决方案 »

  1.   

    GDI的路径就是这么取数据的int nCount = ::GetPath(hDC, NULL, NULL, 0);
    LPOINT lppt = new POINT[nCount];
    LBYTE ltype = new BYTE[nCount];
    ::GetPath(lppt, ltype, nCount);
      

  2.   

    不就是含有输出参数的API嘛这类的函数很多的
      

  3.   

    WideCharToMultiByte
    MultiByteToWideChar
    等很多很多,一时也想不起来了
    很多有返回不固定大小参数的函数都有此功能
      

  4.   

    WideCharToMultiByte是这样的一个方法吧
      

  5.   

    WideCharToMultiByte
    MultiByteToWideChar
      

  6.   

    很多啊,GetModuleFileName,GetAdaptersAddresses
      

  7.   

    很多……用的时候可能看MSDN里面的说明,但楼主突然这样问,一时还真想不起来多少~~