C言語なら俺に聞け 164 (157レス)
C言語なら俺に聞け 164 http://mevius.5ch.net/test/read.cgi/tech/1753252201/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
139: デフォルトの名無しさん (ワッチョイ 1f7b-Y7Iz) [sage] 2025/11/12(水) 23:55:46.80 ID:MQmntoo50 ここでおそらく、tarでアーカイブし、ディレクトリ名が重複するので端折る事を想定していると思われるが、 これは間違いだ。『ディレクトリ文字列』ではなく、単純に『文字列』を端折るだけでいい。 つまり、 ファイルシステム上: ./pathA/pathB/hoge.txt ./pathA/pathB/hogehoge.txt ./pathA/pathB/hogehogehoge.txt はちみつ式tarアーカイブ:(ファイル名先頭に同一『ディレクトリ』かマークする=デリミタ文字を認識しないといけない) (新)./pathA/pathB/hoge.txt (同)hogehoge.txt (同)hogehogehoge.txt 俺式tarアーカイブ:(直前レコードと『文字列が』頭から何文字同じかマークする=デリミタ文字を気にする必要ない) (0)./pathA/pathB/hoge.txt (18)hoge.txt (22)hoge.txt この例は偶々、俺式の方が圧縮出来るが、実際はこんな都合のいいファイル名並びはほとんど無い。 マークサイズが、はちみつ式はbool、俺式はint(またはshort/char)なので、実際にどちらが小さいかは場合によりけりだろう。 ただポイントは、俺式はファイルのデリミタ文字がMには関係ないところだ。 Mはただの倉庫であって、文字列→中身、が出来れば十分で、外部の仕様には一切依存しない、ということ。 (はちみつ式はデリミタが/であるunix仕様がMに癒着している。とはいえこれが問題になる事はまずないはずだが) http://mevius.5ch.net/test/read.cgi/tech/1753252201/139
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 18 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.005s