ページ 11

ファイル読み込み関係の関数

Posted: 2009年7月03日(金) 09:02
by y
Dxライブラリのファイル読み込み関係の関数についてなんですが、
使い方がよくわかりません。

text_read = FileRead_open ("test.txt") ;
test_a = 0 ;
FileRead_seek ( text_read , 1 , SEEK_SET ) ;
test_a = FileRead_getc ( text_read ) ;
FileRead_close ( text_read ) ;

とやっても、textファイルの中身にかかわらず、-1になってしまうのですが、何が悪いのでしょうか。

Re:ファイル読み込み関係の関数

Posted: 2009年7月03日(金) 09:18
by ねこ
どちらが-1になっているのか分からないのですが

・text_readが-1の場合
 ファイルが読み込めていません。この指定だとslnファイルと同じ場所に無いといけません。

・test_aが-1の場合
 テキストファイルの文字数を超えた位置を検索している。
 FileRead_seekの第二引数で「1」を指定していますが、これは先頭から「2文字目」から取得するようになります。
 従って、もし半角1文字しか打っていないテキストファイルだと読み込む情報が無いのでエラーになります。

Re:ファイル読み込み関係の関数

Posted: 2009年7月04日(土) 17:26
by y
説明不足ですみません

-1 なのは、test_a で、text_read は 0だったので、ファイルの読み込み自体はできていると思います

ファイルの中身は、5文字くらい半角数字を書き込んでいるので、2文字目から読み込んでも、
エラーにはならないと思ったんですが

Re:ファイル読み込み関係の関数

Posted: 2009年7月04日(土) 17:38
by GPGA
>text_read は 0だったので、ファイルの読み込み自体はできていると思います
できていません。

FileRead_openのリファレンスをキチンと読みましょう。
http://homepage2.nifty.com/natupaji/DxL ... html#R19N1

Re:ファイル読み込み関係の関数

Posted: 2009年7月04日(土) 17:40
by ねこ
<text_read は 0だったので
すいません、エラー時-1なのは「FileRead_getc」だけでした。

text_readが0という事はファイルが読み込めていません。
特に設定していなければslnファイルがある場所に「test.txt」ファイルがあれば読み込み可能なはずです。
もう一度ファイルの場所と名前を確認して見てください。

Re:ファイル読み込み関係の関数

Posted: 2009年7月04日(土) 20:42
by y
ファイルの位置を直したら、ちゃんと読み込めました
いろいろとありがとうございました。