我正在尝试使用 Unix 中的终端创建一个文件。我的代码如下。我知道 argv[1] 正在从终端屏幕获取数据,因此例如当我执行 ./a.out newfile.txt 时,argv[1] 的值为 newfile.txt
当我运行命令 ls 检查我的目录时,该文件名为 argv[1]。我是否需要使用某种形式的指针才能成功完成我正在尝试的事情?
问候
int main (int argc, char* argv[])
{
printf("File to create: %s \n", argv[1] );
freopen("argv[1]", "w+", stdout);
return 0;
}
最佳答案
您告诉freopen
创建一个名为“argv[1]”
的文件,作为char*
(作为“字符串”如果你愿意的话)。要实际使用 argv[1]
参数根据为程序提供的第一个参数创建文件,请不要引用 argv[1]:
freopen(argv[1], "w+", stdout);
关于c 使用 freopen 和 argv[1] 在终端中创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21805214/