• ベストアンサー

cocoa:ファイルの読み込み

教えていただけますか? cocoaを使用して、ファイルを読み込みたいのですが、どのクラスのどのメソッドになるでしょうか? •ファイルはバイナリ •ファイルの一部を読み込みたい •読み込み開始位置を指定したい NSDataになるのでしょうか? それとも c の fread でするしかないですか? よろしくおねがいします。

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

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

NSDataでよいかと。 単にバイト列が欲しいだけなら、fopenでmmapでも良いと思いますが、たぶんCocoaオブジェクトで扱ったほうがアプリケーション全体で使いやすい事になってくれそうな。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • objective-cで、バイナリの読み込みに関して。

    objective-cで、バイナリの読み込みに関して。 バイナリファイルが容易してあり。 例えば Cで下のようなソースで読み込みできるとします。 typedef struct tagTTestStruct { int data1; int data2; char data3; } TTestStruct; int main() { TTestStruct testdata; FILE *fp; fp = fopen( FILENAME , "rb" ); fread( &testdata , sizeof( testdata ) , 1 , fp ); fclose( fp ); printf( "data1 = %d , data2 = %d , data3 = %d\n" ,testdata.data1,testdata.data2,testdata.data3 ); return 0; } これを、objective-cらしく書くにはどうしたらいいのでしょうか、、、 nsdataやnsarchiverを調べてみたのですが、よくわからないんです。 また、参考になるようなサイトがあればおしえてほしいです。

  • fgets の失敗時、再読み込み開始位置は?

    こんにちは。 fgets の失敗時、再読み込み開始位置はどこになるのでしょうか? 例えば、以下点線内のファイルを読み込み、bを読み込めずに失敗した場合 再度 fgets を発行(以下★)した場合、得られる文字列はどれでしょうか? (EOFまで読み込み NULL で返却されることは考えないとします) ----- a b c ----- if( fgets( line, 100, stream ) == NULL)  fgets( line, 100, stream ) ★ 元々CStdioFile クラスの ReadString メソッドで CFileException がスローされた場合の再読み込み処理を 調べていたのですが、ReadString メソッド内部では fgets をコールしていたので質問させていただきました。 よろしくお願いします。 Windows XP VC++6.0

  • cocoaアプリで悩んでます。

    cocoaアプリで悩んでます。 よろしくお願いします。 Mac初心者です。 現在、cocoaAPI、Xcode3.0、InterfaceBuilder3.0(以下IB)を使ってアプリケーションを作っています。 <アプリ概要> <1>実行時に現れるダイアログにhtmlファイルをドラッグ&ドロップで貼り付けて表示。 <2>そのファイルがあるフルパスを表示。 <現状> 上記内容は実装できたのですが、<1>から<2>に進むためには設置したボタンをクリックしなければいけないような仕様になっています。 これをドラッグ&ドロップした時点で<2>の状態に進むようにしたいのです。 できるだけIBを利用したいと思っています。 WebViewクラスにはDownloadDelegate等のデリゲートが準備されているので、これを使うべきなのかなと思っているのですが、IB上で設置したインスタンスからデリゲートをどのように設定するのか、設定されたデリゲートに対するメッセージをどのように活用するのか(メソッドの引数には受け取ったメッセージを記述すべき?、どう書けば良いのか?、等)よく理解できていません。 デリゲートでメッセージを受け取った側のクラスのメソッドはどのように書けば良いかサンプルコードを記述して頂けるのであればうれしい限りです。 どうぞよろしくお願いしいます。

  • 起動時にモジュールの読み込みに・・とメッセージが!

    教えてください。 パソコンの起動時に、 (1)モジュール「C:¥ProgramData¥ApimbEqbed.dat」の読み込みに失敗しました。 バイナリが指定されたパスに格納されていることを確認するか、バイナリまたは依存.DLLに問題がないか調べてください。 メモリロケーションへのアクセスが無効です。 (2)モジュール「C:¥ProgramData¥asouyhg.dat」の読み込みに失敗しました。 バイナリが指定されたパスに格納されていることを確認するか、バイナリまたは依存.DLLに問題がないか調べてください。 指定されたモジュールが見つかりません。 と、2つのエラー?メッセージが出ます。 どのような対応をすればいいのでしょうか? 似たような質問の対処方法を試したのですが、今一つ、意味が分からず、できませんでした。 どうぞ、よろしくお願いいたします。

  • バイナリファイルに改行コードを追加したい

    C言語でマルチバイト文字(全角文字)を含めたバイナリファイル(改行のないテキストファイル)に指定したバイト長ごとに改行コードを追加するにはどのようにしたら良いのでしょうか?。 漠然とですがfopen()とfread()などを使うんだろうと おもうのですが、読み込んだ文字数の計算方法がわかりません。 どなたかご教授お願いします。

  • AccessVBA:読込専用ファイルを開きたい

    いつもお世話になっております。 Access2000を使用しております。 自MDBから別のMDBファイルのアクセスを行う際に OpenDatabaseメソッドを使用しているのですが、 対象のMDBファイルが読込専用である場合に 以下のエラーが発生してしまいます。 エラーコード   :3051 エラーメッセージ ::ファイル 'C:\***.MDB' を開くことができませんでした。ほかのユーザーが排他的に開いているか、データを読み取る権限がありません。 MDBファイルは書き込みを行いたいということではなく、テーブル名を参照したいだけなので、 読込専用のファイルでもアクセスしたいのですが、 Set db = OpenDatabase(fl, , True) といったように第3引数read-onlyの引数をTrueにしても同様のエラーが発生してしまいます。 読込専用のファイルは開くことが出来ないのでしょうか? ご教示の程、何卒よろしくお願いいたします。

  • csvファイルの読み込みができません。

    csvファイルの読み込みができません。 過去にExcelで作成したデータをcsvに変換するマクロを作ってもらいました。 (Excel表の中にマクロを登録したボタンがあって、それをクリックするとcsvファイルが作成される) そのcsvファイルをそのまま使用すると、読み込みができますが、一旦csvファイルを開いて一部データの変更をして保存すると読み込みができなくなります。 また、自動にファイル名が設定されるので、わかりやすいようにファイル名を変更しただけでも読み込みができなくなります。 csvファイルにも種類があるんでしょうか?

  • ファイルの入力がうまくできません。

    ファイルの読み込みがうまくできません。 char buffer[起こりうる最大バイト数]; fread(buffer, 最大バイト数を超えないデータ量 で,うまく読み込めず、 buffer = (char *)malloc(必要なだけの領域) fread(buffer, 最大バイト数を超えないデータ量 だとうまくいきます。 最大バイト数は27*181と小さく、またbufferをstaticにしても 関数の外部においてもバグります。 いったいなにがおかしいのか、こころあたりあるかた教えてください。 ちなみに、fread直後ですでに読み込みデータがおかしくなっています 読み込みデータはバイナリでfopen("filename","br");でよんでます

  • freadとfwrite

     C言語初心者です。 fopenでテキストファイルで読み込んで,freadやfwriteなどは使っていいのでしょうか? 入門書などでは、freadやwriteはバイナリファイルでしか使っていないので疑問になりました。

  • モジュールの読み込みに失敗

    モジュールの読み込みに失敗しました。バイナリが指定されたパスに格納されていることを確認するか、バイナリまた、依存DLLファイルに問題がないか調べてください。 このような表示が出ます。この表示が出ないようにするにはどうしたらいいでしょうか?いまのところ部分的にはセキュリティができているようなんですが・・・わかる方回答お願いします! ※OKWaveより補足:「ESETセキュリティ ソフトウェア シリーズ」についての質問です。