ファイルの行末の確認 FileIsLineEnding 関数

関数

ファイル関数

FileIsLineEnding 関数

 この関数は、開いている txtファイル または csvファイルのファイルポインタの位置が行末に置かれているかどうかをチェックします。

 ファイルポインタがある行で、現在のファイルポインタの位置から、同じ行で次の位置以降に文字列が存在しない場合と 行末文字「\r\n」に達している場合は true、それ以外の場合は falseを取得します。 

データ型と構成・戻り値

bool FileIsLineEnding(①);

 戻り値は、ファイルポインタがある行で、現在のファイルポインタの位置から、同じ行で次の位置以降に文字列が存在しない場合と 行末文字「\r\n」に達している場合は true、それ以外の場合は falseを返します。 

引数 [1]

 FileIsLineEnding関数は 1個の引数で構成されます。


引数名データ型単位初期値説明
file_handleintFileOpen関数によって取得されるファイルハンドル

使用例

FileIsLineEnding関数によるファイルポインタの位置確認

 FileIsLineEnding関数を使ってファイルポインタの現在位置が行末におかれているかどうかの確認をします。

 確認するファイルは FileOpen関数で選択します。もし、ファイルが存在しない場合は新規にファイルが作成されます。

 確認するファイルの場所については FileOpen関数のページで確認してください。結果が同じようにならない場合は、作成した「test.txt」ファイルを削除して再度実行してみてください。

※ FileIsLineEnding関数の行末判定は、何らかの形で一旦読取のような作業をしないと行末判定がされませんのでご注意ください。

コード

// FileIsLineEnding関数によるファイルポインタの位置確認
#property strict
void OnInit() {

string filename = "test.txt";            // ファイル名
int handle;                              // ファイルハンドル
    
handle = FileOpen(filename, FILE_READ | FILE_WRITE | FILE_TXT );

FileWrite(handle, "test");

Print("①", FileIsLineEnding(handle));   // ①行末判定
Print("ファイルポインタの位置:", FileTell(handle));

Print("読取:", FileReadString(handle)); // ※読取を省略した場合、次の関数で行末認定されません
                                         //   ポインタの位置が行末なので読み取っても文字は表示されません
Print("②", FileIsLineEnding(handle));   // ②行末判定(再)

FileClose(handle);
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

タイトルとURLをコピーしました