【问题标题】: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;
}

【讨论】:

    猜你喜欢
    • 2016-06-06
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 2017-04-21
    • 2012-07-28
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多