バイナリデータをファイルに書き込むにはどうすればよいですか?私は浮動小数点数を生ファイルに書き出し、それを浮動小数点として読みたいと思っています。あなたはどうやってそれをしますか?iPhoneでバイナリデータを書き込む
5
A
答えて
6
はこれで実験されて:奇妙なことが書かれたファイルは8つのバイトではなく4であるように思わということです。長さ0でのNSDataを初期化することも可能です
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *file = [documentsDirectory stringByAppendingPathComponent:@"binaryData"];
float b = 32.0f;
NSMutableData *data = [NSMutableData dataWithLength:sizeof(float)];
[data appendBytes:&b length:sizeof(float)];
[data writeToFile:file atomically:YES];
NSData *read = [NSData dataWithContentsOfFile:file];
float b2;
NSRange test = {0,4};
[read getBytes:&b2 range:test];
、フロートを追加して、書き込みを実行すると、ファイルは4バイトになります。なぜNSDataはデフォルトで4バイトを追加するのですか?長さ4のNSDataは、8ではなく長さ4のファイルになります。
3
Objective-CはCプログラミング言語の拡張版です。
私は通常、この方法をNSFileHandleを作成し、バイナリデータを書き込む:それは8バイトの場合
NSFileHandle handle*;
float f;
write([handle fileDescriptor], &f, sizeof(float));
関連する問題
- 1. ofstreamでバイナリデータを書き込む際の問題
- 2. Delphiでバイナリデータをstdoutに書き込む方法は?
- 3. iPhoneシミュレーションでSQLite3に書き込む
- 4. XMLStreamWriterEx(stax-ex-api)を使用してバイナリデータを書き込む
- 5. mysql&select into OUTFILE - バイナリデータをファイルに書き込む
- 6. python 3のstdoutにバイナリデータを書き込む方法は?
- 7. Linq to XML - バイナリデータをXMLに書き込む方法
- 8. iPhoneカレンダー(チタン)にデータを書き込む
- 9. バイナリデータをファイルに書き込んで、高速に読み込むことができますか?
- 10. Pythonを使ってソケット(またはファイル)にバイナリデータを書き込む
- 11. node.jsを使用してバイナリデータをファイルに書き込む方法は?
- 12. iPhoneでopen glを使用してテキストを書き込む
- 13. PHP 5:utf-8バイナリデータを書き込む方法 - イメージ - 出力するには?
- 14. iphoneでplistの配列オブジェクトを書き込む方法は?
- 15. 目的のCでテキストファイルにコンテンツを書き込む方法iphone
- 16. Accessで特定のフィールドと値に書き込むvbaを書き込む
- 17. DataTableを書き込む
- 18. Matlab:aviファイルを書き込む
- 19. iphoneアプリケーションからWebサーバーにデータを書き込む方法は?
- 20. Node.jsでストリーミングするバイナリデータの生成と書き込み
- 21. メテオでMongoDBに画像を書き込む/読み込む。
- 22. FlexでXMLファイルを書き込む
- 23. Phonegapでファイルを書き込む
- 24. Javaで動画ファイルを書き込む
- 25. Rubyでバイナリファイルを書き込む
- 26. Java - Apache.commons.csvでCSVファイルを書き込む
- 27. c/C++でログファイルを書き込む
- 28. drawstring()で変数を書き込む
- 29. PDFBoxでテキストをploygonに書き込む
- 30. マルチスレッドアプリケーションでファイルにログを書き込む
あなたは、ファイルの内容を確認するためにバイナリエディタを使用することはできますか?あなたのフロートがどれであるかを選ぶことができなければならないと思っています。そして、他の4つは、何がうまくいかないかの手がかりを与えるかもしれません。 – Tim
確かに。最後の4つはフロートです。ファイルは次のようになります:00 00 00 00 00 00 42 – quano
NSMutableDataを長さで初期化すると、その長さがデータに追加され、後でスペースを指すようになります。それを長さ0で挿入することが解決策です。それで、なぜ0以外の長さで初期化したいのか、自分自身に尋ねることができます。 – quano