C语言获取文件路径
Getting the path of a file in C
我正在编写一个 C 程序来处理文件的内容。我知道一种使用控制台输入接收文件路径的方法。但我需要使用另一种方式,即“打开文件”属性。
例如,在 Windows 上,使用程序打开文件的一种方法是将文件拖放到程序可执行文件上。
这是这张照片:
我不知道如何在 C 中获取文件路径,你能告诉我如何在 Windows/MacOS/Linux 上做到这一点吗?
没关系伙计们!我找到了这个问题的答案。
#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;
}
我正在编写一个 C 程序来处理文件的内容。我知道一种使用控制台输入接收文件路径的方法。但我需要使用另一种方式,即“打开文件”属性。 例如,在 Windows 上,使用程序打开文件的一种方法是将文件拖放到程序可执行文件上。
这是这张照片:
我不知道如何在 C 中获取文件路径,你能告诉我如何在 Windows/MacOS/Linux 上做到这一点吗?
没关系伙计们!我找到了这个问题的答案。
#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;
}