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

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
22行目: 22行目:


; サンプル
; サンプル
<pre class="brush:autolisp;">
; 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"


<pre class="brush:autolisp;">
; 日本語を UTF-8 で書き込む
(setq f (open "c:\\temp\\sample.txt" "wb"))
(setq f (open "c:\\temp\\sample.txt" "wb"))
; "モジダヨー"の2進バイナリ
(vle-write-string  f "日本語いけるかな?" 0)
(vle-write-string  f "111000111000001110100010111000111000001010111000111000111000001110000000111000111000001110101000111000111000001110111100" 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>   


37行目: 49行目:
* [[vle-read-string]]
* [[vle-read-string]]
* [[vle-write-string]]
* [[vle-write-string]]
 
* [[vle-file-encoding]]
 
* [[open]]


[[Category:AutoLISP]]
[[Category:AutoLISP]]

2022年12月11日 (日) 07:30時点における版

構文
(vle-write-string fptr value numChars)


機能
Lisp 文字列をファイルに書き出す。与えられた文字列長、または文字列全体の長さを使用する。


引数
  • fptr : (open <fname> "rb" ) などのバイナリーモードオプションで返されるファイルディスクリプタ値
  • value : 書き出す LISP 文字列
  • numChars : <= 0 なら、Lisp文字列全体がファイルに書き込まれ、文字列の終わりを示す EOS (0x0) が書き込まれる。
0 以上の場合、numChars 文字(またはLisp文字列の最大文字数)が書き込まれ、0x0 EOSインジケータは付加されない。
これにより、長さの接頭辞を用いる方法と、0x0 EOS識別子を用いる方法の2つの主要な記憶機構で文字列を書き込むことができる。


戻り値
失敗した場合はnil, 成功した場合は valueの値


サンプル
; 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" ; ダメでした~(´・ω・`)



関連事項