コマンドライン引数を取得してファイル拡張子を追加するCプログラムに取り組んでいます。
実行は次のようになります:
>myprogram file1 file2
and は、引数として使用する別のプログラムを実行しますfile1.txt
and file2.txt
. 拡張機能を追加して1つのコマンドを実行しようとしました(s1はパスで、s2はargv[i]
ループ上にあります:
int getfile(char *s1, char *s2){
char *str2 = malloc(sizeof(s2)+3);
strcpy(str2,s2);
strcat(str2,".txt");
execl(s1,"program",str2,NULL);
exit(0);
}
関数は 1 つのファイルに対してプログラムを実行しますが (>program file1.txt
および>program file2.txt
)、この方法で実行する方法を見つける必要があります ( >program file1.txt file2.txt
)。
argv を直接変更しようとしましたが、失敗しました。
何かアドバイスはありますか?