- ベストアンサー
バイナリデータをテキストファイルに出力したい
以下のソースファイル(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; }
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>実行時に指定すればいいとのことですが、 >その方法はどのように >すればいいのでしょうか。 コマンドプロントで実行するときに指定します。 例 C:\c>test.exe bi.dat
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>fpIn = fopen( "argv[1]" , "rb"); の部分 fpIn = fopen( argv[1] , "rb"); にしてコンパイルしなおしてから #1
お礼
丁寧な回答有り難うございます。 とても参考になりました。
- funaho
- ベストアンサー率58% (43/74)
実行時に指定します。 例 C:\c>test.exe bi.dat
お礼
早い回答有り難うございます。
補足
実行時に指定すればいいとのことですが、 その方法はどのように すればいいのでしょうか。 初心者の質問ですいません お忙しいこととは存じますが、 よろしくお願い致します。
お礼
早速の回答有り難うございます。