整数を表すバイナリファイルを作成したいと思います。私はファイルが4バイトでなければならないと思う。私はLinuxを使用しています。どうやってするか? 別の質問:そのファイルの内容をC言語の整数にどのように割り当てるのですか?バイナリファイルとは何ですか、どうすれば作成できますか?
2
A
答えて
1
バイナリ読み取り/書き込み用にファイルを開きます。関数fopenは、ファイルアクセスモードパラメータのb
スイッチを取る - see here
fopen()
ができます、標準のCでバイナリファイルに
11
をテキストとバイナリファイルの違いだけでなく、データを書き込むためのコードサンプルのためfopen page in Wikipediaを参照してください。従って、バイナリモード(読み込み、"rb"
)書き込むモード"wb"
:
#include <stdio.h>
int main() {
/* Create the file */
int x = 1;
FILE *fh = fopen ("file.bin", "wb");
if (fh != NULL) {
fwrite (&x, sizeof (x), 1, fh);
fclose (fh);
}
/* Read the file back in */
x = 7;
fh = fopen ("file.bin", "rb");
if (fh != NULL) {
fread (&x, sizeof (x), 1, fh);
fclose (fh);
}
/* Check that it worked */
printf ("Value is: %d\n", x);
return 0;
}
この出力:
Value is: 1
1
システムコールopen
、write
およびread
については、man
を参照してください。
3
オペレーティングシステムの観点からは、すべてのファイルがバイナリファイルです。 C(およびC++)は、改行文字を改行/改行のペア(Windowsの場合)に展開するような特殊な「テキストモード」を提供しますが、OSはこれについて知りません。 (男性のfopenを経由して)これを覚えておく
FILE * f = fopen("somefile", "wb");
関連する問題
- 1. .frameworkファイルとは何ですか、どうすれば入手できますか?
- 2. Android BrowserFrameとは何ですか、どうすれば使用できますか?
- 3. Config.Eager_loadとは何ですか、どうすれば修正できますか?
- 4. DynamicClassAttributeとは何ですか?どうすれば使用できますか?
- 5. どうすればスレッドループを作成できますか?
- 6. メテオではどうすれば汎用イベントハンドラを作成できますか?
- 7. 外部で作成したファイルにはどうすればアクセスできますか?ファイルはどこですか?
- 8. Pythonスクリプトは何千ものポートを作成しますが、どうすれば解決できますか?
- 9. 逆の作業リンクはどうすればできますか?
- 10. どうすればこのようなモジュールを作成できますか?
- 11. どうすればこのようなフォームを作成できますか?
- 12. どうすればこのようなプロットを作成できますか?
- 13. どうすればこのようなソープヘッダーを作成できますか?
- 14. lisp(scheme)はどのようにバイナリファイルにコンパイルできますか?
- 15. FolderBrowserDialogをフィルタリングするにはどうすればよいですか、それとも何ができますか?
- 16. UWPToolkit - ItemTemplateとは何ですか?また、私のAdaptiveGridにはどうすればできますか?
- 17. 「自然」の内容の大きなテキスト(1GB以上)とバイナリファイルをすばやく作成するにはどうすればよいですか? (C#)
- 18. ディープリンクとは何ですか?また、App Store用にどのように作成できますか?
- 19. ウェブサービスアプリの作成にはどうすればよいですか?
- 20. MongoDBの$ cmdコレクションとは何ですか?どうすれば使えますか?
- 21. UTF-8バイナリファイルを復元するにはどうすればよいですか?
- 22. UWP/Centennialプロジェクトに対応するためのマッピングファイルとは何ですか?どうすれば作れますか?
- 23. Emacsがバックアップファイルを作成するときはどうすれば制御できますか?
- 24. ASP.NET MVCでdata-cip-idとは何ですか、どうすれば削除できますか?
- 25. getDatabaseLocked()でnullポインタの例外とは何ですか、どうすれば修正できますか?
- 26. どうすればMCE(マシンチェックエラー)を生成できますか
- 27. iOS 5のAssistanceServicesフレームワークとは何ですか?この警告はどうすれば解決できますか?
- 28. どうすればAクラスがA.Bインスタンスを作成できますか?
- 29. どうすれば私のウェブサイトのオフラインバージョンを作成できますか?
- 30. どうすればインターフェイスMicrosoft.Office.Interop.Word.Applicationの新しいインスタンスを作成できますか
:Cプログラムで
、この特別扱いせずにファイルを作成するには、関数fopen()の「B」フラグを使用するモードの文字列もできます文字「b」を最後の文字として、または上記の2文字の文字列 のいずれかの文字間の文字として使用します。これは厳密にC89との互換性のためであり、効果はありません。 のLinuxを含むすべてのPOSIX準拠のシステムでは、 'b'は無視されます。 (バイナリファイルへの入出力を行い、あなたのプログラムが非Unix環境に移植されることが予想される場合は、他のシステムではテキストファイルとバイナリファイルを別々に扱い、 'b'を追加するとよいでしょう。 – tr9sh