我有一个具有此功能的 C 应用程序:
- 由互联网协议(protocol)调用(语法:gett:test!test123!456)。
- 读取文件并解析它(该文件将与 exe 完全位于同一文件夹中,并定义名称。
- 解析我之前编写的语法(将 test!test123!456 作为 argv)并解析它
- 使用解析后的参数调用另一个应用程序(来自上面)
我已经成功制作了这些功能。否则,(目前)唯一的问题是: 当我从另一个位置或应用程序(例如 cmd)调用该应用程序时,该应用程序似乎正在丢失上面定义的文件。 在我的代码中,此异常处理程序是:
/// open the config.txt module
FILE *f;
f=fopen("configgg.txt", "r");
if (f == 0) { /* If opening failed */
MessageBox(NULL, "Failed in opening file. Make sure you have the config.txt", "Error", MB_OK | MB_ICONINFORMATION);
return -1;
}
谁能帮我解决这个问题吗?
抱歉语言不通。 预先感谢您,我感谢任何形式的帮助。
最佳答案
照原样,您调用用户所在路径的相对路径。您应该使该路径相对于您的应用程序。
您可以通过 argv[0]
获取应用程序的完整路径,然后您可以修剪末尾并连接到配置文件的名称以获得配置文件的完整路径。
关于C、文件、路径等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23473516/