我想制作一个C程序,它将被一些参数调用;每个参数将代表一个文件名,我想在它们中写入一些东西。C - 读取/写入形成一个动态名称的文件
FILE * h0;
h0 = fopen(argv[0],"w");
char buffer[100] = "something here\n";
fprintf(h0,buffer);
fclose(h0);
对于C++有一些称为c_str(),但我没有设法在这里使用它。 任何提示如何处理它?
我想制作一个C程序,它将被一些参数调用;每个参数将代表一个文件名,我想在它们中写入一些东西。C - 读取/写入形成一个动态名称的文件
FILE * h0;
h0 = fopen(argv[0],"w");
char buffer[100] = "something here\n";
fprintf(h0,buffer);
fclose(h0);
对于C++有一些称为c_str(),但我没有设法在这里使用它。 任何提示如何处理它?
文件名正好是一个C字符串(以空字符结尾的数组),并且您已经回答了您自己的问题(您不需要像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);
}
}
或类似的东西。
所以,问题是我试图写入argv [0];非常感谢 - 解决了问题 – NiCU
[C - 读取命令行参数](http://stackoverflow.com/questions/5157337/c-reading-command-line-parameters) –
(已修复您的格式:格式化代码的正确方法是要缩进它4个空格,你可以通过选择你的代码并按下标有'{}'') – huon
的按钮来实现,那么问题是什么?添加一些错误检查代码,你不是很好吗? – ConfusedAboutCPP