gpt4 book ai didi

C:改为argc和argv

转载 作者:行者123 更新时间:2023-11-30 18:57:19 26 4
gpt4 key购买 nike

我正在开发一个带有一些系统调用的 C 程序,并且我正在保存变量,如下所示:

int inhandle,outhandle,bytes,read_while_writing_nhandle;
char source[128],target[128];

现在我的程序提示用户

printf("enter source file name\n"); 
scanf("%s",source);

如何更改它以便用户只需键入“run sourceName targetName”又名,将它们存储为 argv[1] 和 argv[2]

我还使用输入(目标和源)在句柄中,例如:

inhandle=open(source,O_RDONLY);

我的主要问题是转换,因为我将目标和源存储为字符。我可以使用类似 strcpy 的东西。如果有人能帮助我,我将不胜感激。希望这一点是清楚的。谢谢。

*********编辑:我抱歉,我可能不够清楚......

我尝试执行 int main(int argc, char *argv[]) ,然后包括:

if(argc==3) 
{ source = argv[1]; target = argv[2]; }
else{ printf("Syntax error.\n");
return -1;

但是我会遇到转换错误,因为我无法以这种方式存储它们。如果我确实将它们存储为指针(如 *target=argv[2]),我担心当我调用句柄时它们将无法工作。(例如: outhandle=open(target...) 可以工作,但我可以不做 open(*target..)

最佳答案

使用 int main(int argc, char **argv);然后将源分配给argv[1],目标分配给argv[2]

关于C:改为argc和argv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21538444/

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