#author("2026-03-31T20:56:44+09:00","","")
#author("2026-03-31T22:44:39+09:00","","")
#navi(マニュアル/関数)
* FREAD [#d113320e]
** 形式 [#ge142a3c]
> FREAD( '''path''' )
** 機能 [#o30b1337]
- ファイルから1行読み取ります。
- FREADする前にはFOPENでファイルをオープンしておく必要があります。
- 文字コードはFCHARSETで指定した文字コードからYAYA内部文字コードに変換されます。
- 行の末尾の改行文字(CR,LF)は取り除かれます。
** 引数 [#qef2ee3b]
:path|FOPENで指定したファイルへのyaya.dllからの相対パス
** 返り値 [#dd24c2e3]
- 成功した場合、読み込んだ文字列
- ファイル終端に達した場合、-1
- 失敗した場合、空文字列
** 関連 [#c95d4aa8]
- [[マニュアル/関数/FWRITE]]
- [[マニュアル/関数/FREADBIN]]
** バージョン [#le5030a2]
- YAYA:初期から利用可能
- AYA5.8で利用可能
** 注意 [#rfe9f096]
EOF検出のために以下のようなコードを書くと、「-1しか書かれていない行」がファイルに存在した場合、それをEOFと誤認識して読み込みが終わってしまうことがある。
_line = FREAD(_filename);
if(_line == -1) { break; }
これは以下のようにすると回避できる。
_line = FREAD(_filename);
if(GETTYPE(_line) == 1 && _line == -1) { break; }
EOFの-1は整数値、ファイルから読み込んだ"-1"は文字列なので、GETTYPE関数で値の種類を調べ、「整数値としての-1」の場合にのみEOFとして扱うようにする。
EOFの-1は整数値、ファイルから読み込んだ"-1"は文字列なので、[[GETTYPE関数>マニュアル/関数/GETTYPE]]で値の種類を調べ、「整数値としての-1」の場合にのみEOFとして扱うようにする。
** 例 [#i8b3aec6]
-NOWPRINTING
-誰か記載してください!
#navi(マニュアル/関数)