バイナリデータをファイルに書き込むにはどうすればよいですか?私は浮動小数点数を生ファイルに書き出し、それを浮動小数点として読みたいと思っています。あなたはどうやってそれをしますか?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. Delphiでバイナリデータをstdoutに書き込む方法は?
- 2. ofstreamでバイナリデータを書き込む際の問題
- 3. iPhoneシミュレーションでSQLite3に書き込む
- 4. iPhoneカレンダー(チタン)にデータを書き込む
- 5. XMLStreamWriterEx(stax-ex-api)を使用してバイナリデータを書き込む
- 6. python 3のstdoutにバイナリデータを書き込む方法は?
- 7. Linq to XML - バイナリデータをXMLに書き込む方法
- 8. mysql&select into OUTFILE - バイナリデータをファイルに書き込む
- 9. バイナリデータを書き込むときには、約240バイトしか書き込まれません。
- 10. iPhoneでopen glを使用してテキストを書き込む
- 11. バイナリデータをファイルに書き込んで、高速に読み込むことができますか?
- 12. iphoneでplistの配列オブジェクトを書き込む方法は?
- 13. 目的のCでテキストファイルにコンテンツを書き込む方法iphone
- 14. iPhoneのリアルデバイスでxpathを調べて書き込む方法
- 15. バイナリデータをWindowsストアアプリケーションのファイルに書き込む方法C++を使用して
- 16. node.jsを使用してバイナリデータをファイルに書き込む方法は?
- 17. Pythonを使ってソケット(またはファイル)にバイナリデータを書き込む
- 18. バイナリデータの配列を送信し、効率的にサーバ側に書き込む
- 19. PHP 5:utf-8バイナリデータを書き込む方法 - イメージ - 出力するには?
- 20. 書き込みキャッシュポリシーに書き込み/フェッチを書き込む
- 21. iphoneアプリケーションからWebサーバーにデータを書き込む方法は?
- 22. iphone 414pxのためにブレークポイントを書き込む方法は?
- 23. Accessで特定のフィールドと値に書き込むvbaを書き込む
- 24. Node.jsでストリーミングするバイナリデータの生成と書き込み
- 25. Python:bashスクリプトがプロセス置換を使用できるように、バイナリデータをstdoutに書き込む方法は?
- 26. Pythonでファイルに書き込む、Arduinoでファイルを読み込む
- 27. Readerのアプリケーションインスタンスを書き込むときに<*>を書き込む方法
- 28. Jsonファイルを書き込む
- 29. Matlab:aviファイルを書き込む
- 30. DataTableを書き込む
あなたは、ファイルの内容を確認するためにバイナリエディタを使用することはできますか?あなたのフロートがどれであるかを選ぶことができなければならないと思っています。そして、他の4つは、何がうまくいかないかの手がかりを与えるかもしれません。 – Tim
確かに。最後の4つはフロートです。ファイルは次のようになります:00 00 00 00 00 00 42 – quano
NSMutableDataを長さで初期化すると、その長さがデータに追加され、後でスペースを指すようになります。それを長さ0で挿入することが解決策です。それで、なぜ0以外の長さで初期化したいのか、自分自身に尋ねることができます。 – quano