[過去ログ] Ruby 初心者スレッド Part 58 [無断転載禁止]©2ch.net (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
532: デフォルトの名無しさん [] 2016/07/12(火) 23:16:54.90 ID:O9LM8Fab(1) AAS
>>531
531(3): デフォルトの名無しさん [sage] 2016/07/12(火) 20:10:31.38 ID:Eu9k9lZN(1) AAS
Ruby 2.1でデバイスファイルを開いた時にサイズなどの情報を取得することは出来ないのでしょうか?
seek(0, IO::SEEK_END)、size、statは全て通りません
>type test.rb
open("\\\\.\\PHYSICALDRIVE0", "rb"){|f|
f.seek(0, IO::SEEK_END)
p f.stat
p f.size
p f.pos
}
>ruby test.rb
test.rb:2:in `seek': Invalid argument @ rb_io_seek - \\.\PHYSICALDRIVE0 (Errno::EINVAL)
from test.rb:2:in `block in <main>'
from test.rb:1:in `open'
from test.rb:1:in `<main>'
プラットフォーム固有の手段(WindowsならWMI、PC UNIXならlsblkなど)を使えば取得できますが
出来ればそれは避けたいので・・・
Rubyに限定されない一般論として:

 デバイスファイル(物理ドライブ)から取得できるサイズとして、
 いったいぜんたい何を期待しているの?
 ディスク容量?パーティション容量?利用容量?空き容量?

 デバイスファイルをシークして、いったいぜんたい何をしたいの?
 UNIXファイスシステムでセクタ単位にアクセスしたいのなら、
 特殊なRAW(生)デバイスをオープンするけど、それはUNIX固有の手段になる

なんだか無邪気な子供が無い物ねだりしているようにしか聞こえないね
あなたは最終的に何をしたいの?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.036s