C-读/写具有动态名称的文件

C-读/写具有动态名称的文件,c,file-io,C,File Io,我想做一个C程序,用一些参数调用它;每个参数将代表一个文件名,我想在每个参数中写一些东西 FILE * h0; h0 = fopen(argv[0],"w"); char buffer[100] = "something here\n"; fprintf(h0,buffer); fclose(h0); < C++ >有一个叫做CXScript()的东西,但我没有在这里使用它。 如何处理它有什么提示吗?文件名就是一个C字符串(以null结尾的字符数组),您已经回答

我想做一个C程序,用一些参数调用它;每个参数将代表一个文件名,我想在每个参数中写一些东西

FILE * h0;    
h0 = fopen(argv[0],"w");    
char buffer[100] = "something here\n";    
fprintf(h0,buffer);    
fclose(h0);
< C++ >有一个叫做CXScript()的东西,但我没有在这里使用它。
如何处理它有什么提示吗?

文件名就是一个C字符串(以null结尾的字符数组),您已经回答了自己的问题(您不需要C中的C_str之类的内容),因为您打开文件并在其中写入。
argc
告诉您命令行中有多少个参数,包括程序名,它位于
argv[0]
。所以你需要一个循环,比如

const char *your_stuff = "something here\n";
for(i = 1; i < argc; i++)
{
   FILE *h = fopen(argv[i], "w");
   if (h) {
     fputs(your_stuff, h);
     fclose(h);
   }
}
const char*your_stuff=“something here\n”;
对于(i=1;i

或者类似的东西。

您应该看看命令行参数是如何形成的:


然后看看您的
argv[0]

可能的重复(修复了格式:正确的代码格式是将代码缩进4个空格,您可以通过选择代码并按下标签为
{}
的按钮来实现),那么问题出在哪里?添加一些错误检查代码,您不适合继续吗?我认为这里一切都很好,所以,问题是我试图写入argv[0];非常感谢,问题解决了