【问题标题】:Getting the path of a file in C在C中获取文件的路径
【发布时间】:2021-04-25 16:09:33
【问题描述】:
我正在编写一个处理文件内容的 C 程序。我知道使用控制台输入接收文件路径的一种方法。但我需要使用另一种方式,“打开文件”属性。
例如,在 Windows 上,使用程序打开文件的一种方法是将文件拖放到程序可执行文件上。
这是一张照片:
我不知道如何在 C 中获取文件路径,您能告诉我如何在 Windows/MacOS/Linux 上执行此操作吗?
【问题讨论】:
-
这是特定于操作系统的。 GTK 之类的工具包可能会有所帮助
标签:
c
file
environment-variables
【解决方案1】:
别介意伙计们!我找到了这个问题的答案。
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[], char *envp[]){
printf("---------------------------------------------------------------------------\n");
printf("%d\n", argc);
printf("---------------------------------------------------------------------------\n");
for (int i = 0; argv[i] != NULL; i++)
printf("%s\n", argv[i]);
printf("---------------------------------------------------------------------------\n");
for (int i = 0; envp[i] != NULL; i++)
printf("%s\n", envp[i]);
printf("---------------------------------------------------------------------------\n");
getchar();
return 0;
}
如果您复制提供的代码并使用拖放方法运行程序,您会注意到路径值存储在 `argv 数组中。
所以,答案是这样的:
#include <stdio.h>
int main(int argc, char *argv[], char *envp[]){
if (argv[1] != NULL)
printf("%s\n", argv[1]);
return 0;
}