ファイルを読み込んで文字列に格納すると終端にNULL文字が入る
(with-open-file (s "test.txt" :direction :input)
(let ((buf (make-string (file-length s))))
(read-sequence buf s)
buf))
↑のようにread-sequenceで日本語で書かれたファイル(ここではtest.txt)を読み込んで文字列に格納すると,その文字列にNULL文字が入ってしまいます.
例えばtest.txtの中身が
日本語で書かれた文章
であった場合,格納される文字列は
"日本語で書かれた文章^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@"
となってしまいます。
格納する変数のサイズの指定が悪いと思うのですが,どうすればピッタリ格納出来るでしょうか?
ちなみに処理系はsbclでファイルの文字コードはUTF-8です。