「Vle-read-string」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{BCAD_LISP}} ; 構文 : (vle-read-string ''fptr'' ''numChars'') ; 機能 : 与えられた文字列長を使用するか、0x0 EOS文字が見つかるまで、フ…」)
 
編集の要約なし
 
(同じ利用者による、間の2版が非表示)
23行目: 23行目:


<pre class="brush:autolisp;">
<pre class="brush:autolisp;">
; ASCII文字 を UTF-8 で書き込む
(setq f (open "c:\\temp\\sample.txt" "wb"))
(setq f (open "c:\\temp\\sample.txt" "wb"))
; "モジダヨー"の2進バイナリ
(vle-write-string  f "text desuyo" 0)
(vle-write-string  f "111000111000001110100010111000111000001010111000111000111000001110000000111000111000001110101000111000111000001110111100" 0)
(close f)
(close f)
 
 
(setq f (open "c:\\temp\\sample.txt" "rb"))
(setq f (open "c:\\temp\\sample.txt" "rb"))
(vle-read-string f 0)
(vle-read-string f 0)
"111000111000001110100010111000111000001010111000111000111000001110000000111000111000001110101000111000111000001110111100"
"text desuyo"
 
 
; 日本語を UTF-8 で書き込む
(setq f (open "c:\\temp\\sample.txt" "wb"))
(vle-write-string  f "日本語いけるかな?" 0)
(close f)
(close f)
 
 
(setq f (open "c:\\temp\\sample.txt" "rb"))
(vle-read-string f 0)
"\000\000\000\000\000\000\000\000\000" ;; ダメでした~(´・ω・`)
</pre>   
</pre>   


40行目: 48行目:
* [[vle-read-string]]
* [[vle-read-string]]
* [[vle-write-string]]
* [[vle-write-string]]
 
* [[vle-file-encoding]]
* [[open]]




[[Category:AutoLISP]]
[[Category:AutoLISP]]
[[Category:BricsCADのLISP]]

2023年1月28日 (土) 08:11時点における最新版

構文
(vle-read-string fptr numChars)


機能
与えられた文字列長を使用するか、0x0 EOS文字が見つかるまで、ファイルから文字列を読み込む。


引数
  • fptr : (open <fname> "rb" ) などのバイナリーモードオプションで返されるファイルディスクリプタ値
  • numChars : もし <= 0 なら、ファイルは次の EOS 0x0 文字に出会うまで一文字ずつ読み込まれる。
もし > 0 ならば、numChars 文字が文字列から読み取られる。
これにより、長さのプレフィックスを使用する方法と、0x0 EOS識別子を使用する方法の2つの主要なストレージメカニズムで文字列を読み込むことができる。


戻り値
LISP文字列


サンプル
; ASCII文字 を UTF-8 で書き込む
(setq f (open "c:\\temp\\sample.txt" "wb"))
(vle-write-string  f "text desuyo" 0)
(close f)
 
(setq f (open "c:\\temp\\sample.txt" "rb"))
(vle-read-string f 0)
"text desuyo"
 
 
; 日本語を UTF-8 で書き込む
(setq f (open "c:\\temp\\sample.txt" "wb"))
(vle-write-string  f "日本語いけるかな?" 0)
(close f)
 
(setq f (open "c:\\temp\\sample.txt" "rb"))
(vle-read-string f 0)
"\000\000\000\000\000\000\000\000\000" ;; ダメでした~(´・ω・`)



関連事項