use*_*003 5 c directory xcode fopen file
我正在尝试执行以下操作:
FILE *fileNAME = fopen("file.txt", "r");
Run Code Online (Sandbox Code Playgroud)
当我有以下情况时它会起作用:
FILE *fileNAME = fopen("users/username/desktop/folder/file.txt", "r");
Run Code Online (Sandbox Code Playgroud)
但由于我想在家庭计算机之外使用此文件,路径应该是相对的,特别是对于无法访问实际源代码的最终用户而言。我的问题是,如何实际执行此操作,如果问题是由于编译器默认情况下未使用正确的目录,我该如何更改?(我使用的是XCode)
当您通过命令调用程序时,可以将文件路径作为输入参数传递
$myprogram users/username/desktop/folder/file.txt
Run Code Online (Sandbox Code Playgroud)
在您的代码源中,您可以从 argv 获取此路径
int main (int argc, char **argv)
{
char *file_path = argv[1];
....
}
Run Code Online (Sandbox Code Playgroud)
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];
....
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7948 次 |
| 最近记录: |