c/c++语言开发共享如何在Windows上运行的C中获取可执行文件的路径?

-getcwd至少在使用VS 2010进行调试时不会返回它。

由于我正在使用的用户界面工具包,-i无法访问main的参数

那有什么可做的吗?

PS。 请在将此标记为重复之前注意这些限制

    使用GetModuleFileName()并将NULL作为第一个参数传递:

    DWORD last_error; DWORD result; DWORD path_size = 1024; char* path = malloc(1024); for (;;) { memset(path, 0, path_size); result = GetModuleFileName(0, path, path_size - 1); last_error = GetLastError(); if (0 == result) { free(path); path = 0; break; } else if (result == path_size - 1) { free(path); /* May need to also check for ERROR_SUCCESS here if XP/2K */ if (ERROR_INSUFFICIENT_BUFFER != last_error) { path = 0; break; } path_size = path_size * 2; path = malloc(path_size); } else { break; } } if (!path) { fprintf(stderr, "Failure: %dn", last_error); } else { printf("path=%sn", path); } 

    传递NULL作为GetModuleFileName的第一个参数。

      以上就是c/c++开发分享如何在Windows上运行的C中获取可执行文件的路径?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/549522.html

      (0)
      上一篇 2021年1月14日
      下一篇 2021年1月14日

      精彩推荐