> if (!(argc == 2)||!(argc == 3)) { > printf("null\n"); > return 1; > } > char outf[256]; > if (argc == 2) > sprintf(outf, "%s.mp3" , argv[1]); > else > sprintf(outf, "%s" , argv[2]); > こうしてみたけどまだ理想の動作から遠いよ if (argc < 2 || argc > 3) { printf("null\n"); return 1; } 引数の数制限するなら おとなしくこうしたほうがわかりやすくないか。 引数が長すぎると outf があふれるね。 どんな長さでも対処できるように 引数と同じ長さの変数を用意するか、 引数の先頭から250文字だけ抜き出して後は無視 ってするのがいいんじゃないかな。 参考:2003/10/20(月)03時31分31秒