我想製作一個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