2017-04-05 3 views
-1

ファイルから255文字を超える行をパスカル単位で読み込もうとしています。私はそれをcharでchar型で読むことは許されません。私はfree pascal compilerの標準設定に接着しています。 これを達成するにはどうすればよいですか?それも可能ですか?私はblockreadを使うことについていくつかのヒントを読んだが、どのように手がかりを得るためにそれについての十分な情報を見つけることができなかった。ファイルからのReadLn> 255文字(パスカル単位)

私の制限を満たしている限り、いかなる提案もしています。

は、私はかなり問題が表示されていない、事前に非常に 歓声 -gladston3

+0

あなたが何かをすることが許可されていない場合は、おそらく、練習の目標が何であるかを説明する何かが記述にあります。 blockreadが可能です。つまり、ファイルを生のバイナリデータとして読み込み、それを手動で解釈することを意味します。 –

答えて

2

、ありがとうございました。これは機能します(Windows 7のLazarus/FreePascal):

program Project1; 

const 
    FileName = 'test.txt'; 

procedure WriteLongLines; 
var 
    S: string; 
    T: Text; 
begin 
    S := StringOfChar('#', 350); 
    Assign(T, FileName); 
    Rewrite(T); 
    Writeln(T, S); 
    Writeln(T, S); 
    Writeln(T, S); 
    Close(T); 
end; 

var 
    T: Text; 
    S: string; 

begin 
    WriteLongLines; 
    Assign(T, FileName); 
    Reset(T); 
    while not EOF(T) do 
    begin 
    Readln(T, S); 
    Writeln(Length(S), ' ', S); 
    end; 
    Readln; 
end. 

行の長さは350文字(つまり> 255)です。彼らは問題なく読める。私は標準設定を変更しませんでした。

ラザロv1.6から2016-02-14まで、FPC 3.0.0。

OS Xでも試しました。うまく動作します。 また、Ubuntu 16.04でもうまく動作します。

Hmmm ...短い文字列(最大255文字)を使用しているとは限りませんか?

関連する問題