忍者ブログ
natsuの秘密基地です
はまり
はまり一件ごとのお話の流れです
カレンダー
01 2020/02 03
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
プロフィール
HN:
natsu
性別:
男性
趣味:
酒など
自己紹介:
ここに書かれていることはフィクションです。
ブログ内検索
アクセス解析
[37] [36] [35] [34] [32] [29] [28
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

あるディレクトリの奥の奥の奥にある。
そんなファイルをロードしたい。
初夏の夜。
 
ファイルサイズを取得して、
そのぶんだけメモリを確保。
んで、そこにむいてファイルから、
リードリードリード。
 
 
オーバーフロー!!
 


ん?なんでだろ。
 
処理を極限まで減らす。
ファイルから読み込みを無くした時点で、
エラーは出なくなる。
 
 
読み込みがやっぱ悪い。
 
 
んー。ファイルサイズで取得した分しか、
ファイルのサイズはないわけなんで、
教えてもらったファイルサイズだけメモリを確保すればいいはず。
 
 
ちなみにファイルサイズを知る方法。
NSDictionary *result = [manager attributesOfItemAtPath:path error:&error];
で得たDictionaryにはfileSizeってイベントを送ってもいいらしいんですな。
unsigned long long resultSize = [result fileSize];
 
 
 
 
 
さて。エラーのおこるやつ。
ファイルサイズなんぼじゃ。
 
/Users/dev/Documents/backup/dmGet/build/Debug/dmGet.app/Contents/Plugins/ITunesCommunication.plugin/Contents/Resources/lib/python2.6/site.py
 
こんなおくのおくのおくにあるファイル。
枠からはみ出ているだろうが気にしない。
サイズは13。
 
そんなばかな。
site.py書いたの私だけど、13文字で書いた覚えは無い。
 
Finderで調べると、3042。
 
 
おっとー?
 
 
ファイルサイズの別の求め方として、
cの標準関数が使えるのならば。
前にlinuxでなんかを書いたとき、
statとかを使った気がする。
 
struct stat buf;    /* ファイル情報の格納領域 */
size_t debug = 0;
    if ((stat([path UTF8String], &buf)) == 0) {
debug = buf.st_size;
    }
 
まあ、ちょいとこんな感じで。
で、どうなったかというと、
 
 
 
*attributesOfItemAtPath:error:の結果*
2010-06-12 23:12:57.672 crepe[44602:903] image:14df5b30 size:13 pt+n:14df5c30 name:/Users/dev/Documents/backup/dmGet/build/Debug/dmGet.app/Contents/Plugins/ITunesCommunication.plugin/Contents/Resources/lib/python2.6/site.py
Current language:  auto; currently objective-c
 
“result”の説明を出力中:
{
    NSFileCreationDate = "2010-05-01 21:15:52 +0900";
    NSFileExtensionHidden = 0;
    NSFileGroupOwnerAccountID = 20;
    NSFileGroupOwnerAccountName = staff;
    NSFileHFSCreatorCode = 1919443312;
    NSFileHFSTypeCode = 1936485995;
    NSFileModificationDate = "2010-05-01 21:15:52 +0900";
    NSFileOwnerAccountID = 503;
    NSFileOwnerAccountName = dev;
    NSFilePosixPermissions = 493;
    NSFileReferenceCount = 1;
    NSFileSize = 13;←***ここ***
    NSFileSystemFileNumber = 2854447;
    NSFileSystemNumber = 234881026;
    NSFileType = NSFileTypeSymbolicLink;
}
 
うそつき。
 
 
 
*statの結果*
デバッガで見た。
debugの値は3042。

正解。そのとおり。


 
 
なんなんかなぁ。
わたし、なんかしたっけかなぁ。
 
 
 
とりあえず、statで問題をよけるぞ。
 
PR
この記事にコメントする
NAME:
TITLE:
color:
MAIL:
URL:
COMMENT:
PASS: Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:


Copyright (C) 2010 NEST,
All right Resieved.*Powered by ニンジャブログ *Designed by にこるん  / 忍者ブログ / [PR]