• ベストアンサー

バイナリデータをテキストファイルに出力したい

以下のソースファイル(test.c) が、 バイナリデータをテキストファイルに するものらしいのですが、 ファイル名(例えば bi.dat)を指定する方法が わかりません。 C++は勉強し始めたばかりで 詳しくありません。 よろしくお願い致します #include <stdio.h> int main( int argc, char *argv[]) { FILE *fpIn; FILE *fpOut; short snData; if( argc < 2) { printf("ファイル名を入れてください。"); return -1; } fpIn = fopen( "argv[1]" , "rb"); if( fpIn == NULL) { printf("入力ファイル %s を開けませんでした。", argv[1]); return -2; } fpOut = fopen( "output.txt", "w"); if( fpOut == NULL) { printf("出力ファイル output.txt を開けませんでした。"); fclose(fpIn); return -3; } while( fread( &snData, sizeof(short), 1, fpIn) == 1) { fprintf( fpOut, "%d\n", snData); }; fclose(fpIn); fclose(fpOut); return 0; }

質問者が選んだベストアンサー

  • ベストアンサー
  • funaho
  • ベストアンサー率58% (43/74)
回答No.3

>実行時に指定すればいいとのことですが、 >その方法はどのように >すればいいのでしょうか。 コマンドプロントで実行するときに指定します。 例 C:\c>test.exe bi.dat

fk10th
質問者

お礼

早速の回答有り難うございます。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>fpIn = fopen( "argv[1]" , "rb"); の部分 fpIn = fopen( argv[1] , "rb"); にしてコンパイルしなおしてから #1

fk10th
質問者

お礼

丁寧な回答有り難うございます。 とても参考になりました。

  • funaho
  • ベストアンサー率58% (43/74)
回答No.1

実行時に指定します。 例 C:\c>test.exe bi.dat

fk10th
質問者

お礼

早い回答有り難うございます。

fk10th
質問者

補足

実行時に指定すればいいとのことですが、 その方法はどのように すればいいのでしょうか。 初心者の質問ですいません お忙しいこととは存じますが、 よろしくお願い致します。

関連するQ&A

専門家に質問してみよう