获得程序所在路径用什么函数?

解决方案 »

  1.   


    GetModuleFileName(NULL,wcBuffer,MAX_PATH -1);
      

  2.   

    全局变量__argv[0]中存的是程序的全名,自己把程序名去掉就行了。
      

  3.   

    GetModuleFileName得到路径后,把后面的程序名去掉不就行了
      

  4.   

    晕倒
    GetModuleFileName得到路径后,把后面的程序名去掉不就行了
    这样子不行吗?
      

  5.   

    使用 GetModuleFileName 函数可以实现。如下:char szPathName[MAX_PATH] = {0};
    char szFileName[MAX_PATH] = {0};
    int nTokenIndex = 0;
    memset(s_szDBFileName, 0x00, MAX_PATH);
    strcpy(s_szDBFileName, "");
    GetModuleFileName(NULL, szPathName, MAX_PATH);
    strcpy(szFileName, szPathName); nTokenIndex = 0;
    strrev(szFileName);
    while(szFileName[nTokenIndex++] != '\\'); memset(szFileName, 0x00, MAX_PATH);
    strcpy(szFileName, "");
    strncpy(szFileName, szPathName, strlen(szPathName) - nTokenIndex);         strcpy(szPathName, szFileName);szPathName 就是程序所在路径了。