Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
3年前关闭。
我想使用execvp在c中创建一个文件。该文件的名称位于int1变量中。但这不起作用。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
3年前关闭。
我想使用execvp在c中创建一个文件。该文件的名称位于int1变量中。但这不起作用。
int int1;
sscanf((char*) file_memory,"%d",&int1 );
char* arg_list[] = {
"touch",
"int1",
NULL
};
execvp ("touch",arg_list);
最佳答案
您正在创建一个字面名为int1
的文件,因为您编写了一个字符串字面量。变量不会在字符串文字中扩展。您需要使用整数值填充字符串变量。
int int1;
sscanf((char*) file_memory,"%d",&int1 );
char name[20];
snprintf(name, sizeof name, "%d", int1);
char *arg_list[] = {
"touch",
name,
NULL,
};
execvp("touch", arg_list);
10-06 03:13