-2

いくつかのパラメーターで呼び出される C プログラムを作成したいと考えています。各パラメーターはファイル名を表し、それぞれにいくつかのものを書きたいと思います。

FILE * h0;    
h0 = fopen(argv[0],"w");    
char buffer[100] = "something here\n";    
fprintf(h0,buffer);    
fclose(h0);

C++ には c_str() というものがありますが、ここでは使用できませんでした。それを処理する方法のヒントはありますか?

4

2 に答える 2

1

ファイル名は正確に C 文字列 (null で終了する char の配列) であり、ファイルを開いて書き込むので、既に自分の質問に答えています (C では c_str のようなものは必要ありません)。はargc、コマンド ラインにいくつの引数があるか、プログラムの名前を含めて示し、それは at にあり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);
   }
}

またはそのようなもの。

于 2012-05-06T07:56:05.487 に答える
1

コマンドライン引数がどのように形成されるかを確認する必要があります。

http://crasseux.com/books/ctutorial/argc-and-argv.html

次に、あなたのを見てくださいargv[0]

于 2012-05-06T07:56:41.997 に答える