gpt4 book ai didi

c - 不使用完整路径的c语言中同一目录下的fopen文件

转载 作者:行者123 更新时间:2023-12-04 09:15:51 25 4
gpt4 key购买 nike

我正在尝试执行以下操作:

FILE *fileNAME = fopen("file.txt", "r");

当我有:
FILE *fileNAME = fopen("users/username/desktop/folder/file.txt", "r");

但是因为我想在我的家用计算机之外使用这个文件,路径应该是相对的,特别是对于无法访问实际源代码的最终用户。我的问题是,如何实际进行这项工作,如果问题是由于编译器默认没有使用正确的目录,我该如何更改? (我正在使用 XCODE)

最佳答案

当您通过命令调用程序时,您可以将文件路径作为输入参数传递

$myprogram users/username/desktop/folder/file.txt

在您的代码源中,您可以从 argv 获取此路径
int main (int argc, char **argv)
{
char *file_path = argv[1];
....
}

argc 是 argv 数组的长度。因此,如果数组长度小于 2,则您的程序应返回帮助消息以指示用户输入文件路径作为参数
int main (int argc, char **argv)
{
char *file_path;
if (argc <2) {
printf("Usage: %s <file path>\n", argv[0]);
exit(1);
}
file_path = argv[1];
....
}

关于c - 不使用完整路径的c语言中同一目录下的fopen文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13822342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com