gpt4 book ai didi

在c中捕获 "stdin redirected file location string"

转载 作者:行者123 更新时间:2023-11-30 15:17:44 25 4
gpt4 key购买 nike

无论如何,我仍然不确定问题中的措辞 -

我有一个可执行文件,它接受一些值作为命令行参数,并且还从标准输入获取一个文件,如下所示:

user@pc:~$./executable 0.12345 0.12345 < some/directory/somefile.txt

现在有什么办法可以获取文件位置some/directory/somefile.txt代码里面?

我能做的是修改代码以将文件位置作为另一个命令行参数,但在这种情况下我需要更改很多东西。

所以,如果我能做这样的事情那就更好了——

int main(int argc, char **argv)
{
char cmd_prompt[80];
char file_location[80];
grab_command_prompt(cmd_prompt);
split_and_grab_last_token(cmd_prompt, file_location);
/* this line below should print: "some/directory/somefile.txt" */
printf("%s\n", file_location);
}

这可能吗?

最佳答案

没有。 shell 解释您的命令行,并看到 <打开文件进行读取,执行 fork(2) 并在子进程中,替换 stdin使用此文件句柄 dup2(2) 实际执行程序之前。

关于在c中捕获 "stdin redirected file location string",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32019721/

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