「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@288) [緊急] [解決]
@288■ (#859) 【タイトル修正】 ファイルストリーム一行読むがおかしい - U D (2009-05-30 23:04) /緊急 詳細求む!
※追記: 1.522最新版にて再確認したら、「ファイルストリーム一行読む」の不具合のみでした。詳細>>3

【症状】
・ファイルストリーム関連の命令が正常に使えない?
・「ファイルストリーム読む」命令で、開いたファイル名的な何かが返ってくる
・「ファイルストリーム一行読む」命令で、改行のみの行(EOFなど)で正しく一行取得できない。
 (多分)NULL文字で埋め尽くされた4096バイトの文字列が返ってくる。
・とりあえず変

【再現方法】

作業フォルダはランタイムパス&`lib`
F=/*作業フォルダ&*/`testlib.nako`
H=FILEを`読`でファイルストリーム開く
S=Fのファイルサイズ

必要な 間
 Hで300をファイルストリーム読んで表示
 それのバイト数をNに直接足す
 もしそれ≧Sならば抜ける


#-----------------------------------------------------------------------
ファイルサイズ : S = {S} [バイト]
読み込んだサイズ: N = {N} [バイト]
 N - S = {N-S}」と表示

【バージョン】1.521 [修正]

今まではこんなことはなかったと思うのですが・・・
他の方の環境ではどうでしょうか?

(#860) 畏れながら - fushigineko (2009-05-30 22:12) /緊急 詳細求む!
#サンプル

作業フォルダはランタイムパス&「lib\」
F=作業フォルダ&「testlib.nako」
H=Fを「読」でファイルストリーム開く
S=Fのファイルサイズ

必要な 間
 Hで300をファイルストリーム読んで表示
 それのバイト数をNに直接足す
 もしそれ≧Sならば抜ける


#-----------------------------------------------------------------------
ファイルサイズ : S = {S} [バイト]
読み込んだサイズ: N = {N} [バイト]
 N - S = {N-S}」と表示

ファイル名の指定が間違っていても何か強引に作動してしまうということでしょうか???? 頓珍漢なこといってたらすみませんm(_ _)m

(#861) 分かりにくかったですね - U D (2009-05-30 22:56) /緊急 詳細求む!
あー、分かりにくかったですかねf(^^;

 /*作業フォルダ&*/

 作業フォルダ&
にしても、出力結果が変わるだけで正常動作しない点は変わりません。

/*作業フォルダ&*/の方は300バイトずつ読みだすはずなのに、
 testlib.nakoiles\nadesiko_lang\lib
と表示され、
作業フォルダ&…でファイルストリームを開いた方は、
 C:\Program files\nadesiko_lang\lib\testlib.nako
と表示されます。
ファイル名が返ってくること自体不可解ですが、
特に前者については返り値にキャリッジリターンが含まれているようで、
もう訳の分からない文字列になっています。

まぁどっちにしても取得して欲しいのはtestlib.nakoの中身なので、
見当違いな内容が返ってきていることになります。

ちなみに、
 Hで300をファイルストリーム読んで表示

 Hでファイルストリーム一行読んで表示
にすると、4096バイト読み出しますが何も表示されません。
(0x00が4096バイト文詰まったデータが返ってくる)

# あと、なでしこのバージョンを確認してみたら、1.521のままでした(汗
# .exeインストーラの問題とかのだったかもしれないので、ひとまず最新版を.zipで再インストールしてきます。

(#862) 1.522では「ファイルストリーム一行読む」のみおかしい - U D (2009-05-31 01:01) /緊急 詳細求む!
zip版で最新1.522にしたら、最初のサンプルでは上手く行くのですが、
ファイルストリーム一行読むの挙動はおかしいままです。
ごちゃごちゃしてしまったので、もう一度今の状況をまとめておきます。

【症状】
・「ファイルストリーム一行読む」命令で、改行のみの行(EOFなど)で正しく一行取得できない。
 (多分)NULL文字で埋め尽くされた4096バイトの文字列が返ってくる。

【再現方法】

作業フォルダはランタイムパス&`lib`
F=`testlib.nako`
H=Fを`読`でファイルストリーム開く
S=Fのファイルサイズ

必要な 間
 Hでファイルストリーム一行読ん#で表示
 それのバイト数をNに直接足す
 もしそれ≧Sならば抜ける


#-----------------------------------------------------------------------
ファイルサイズ : S = {S} [バイト]
読み込んだサイズ: N = {N} [バイト]
 N - S = {N-S}」と表示

【バージョン】1.522

(#875) RE:1.522では「ファイルストリーム一行読む」のみおかしい - しらたま (2009-06-07 02:06) /緊急 確認待ち
修正しました。

-「ファイルストリーム読む」「ファイルストリーム一行読む」でファイルの終端に達したとき、余分なデータが返り値に含まれる不具合を修正。(@288)(r145)

(#946) 修正確認 - U D (2009-07-10 21:51) /緊急 解決
ver.1.524にて修正確認しました。
クローズします。

(#859)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能