如何读取超过255个字符的一行

I

import

Unregistered / Unconfirmed
GUEST, unregistred user!
我们知道Readln可以读取一行文件,然而,好像有255个字符的长度限制? ReadLn可以接受array[0..N] of char的数组作为Buffer,读取得字符被放到这个Buffer,并且在最后添加一个#0字符!真正的限制是:编译器需要在编译的时候确定这个缓冲区的大小!因此导致不能用pchar变量并且动态分配内存的方法解决问题,因此你可以采取下面的方法:
Type
TLine = Array [0..1024] of Char; {use longest line you may encounter here}
PLine = ^TLine;
Var
pBuf: PLine;
...
New( pBuf );
...
ReadLn( F, pBuf^ );
然后,你可以用pchar(pBuf)来得到字符串~~~~~~~~~:)
当然,你可以不用指针,而直接用TLine或者其他等价的数组,不过我倾向于在堆中分配任何大于4Byte的东西~~~~~~~~~:)[Lloyd's语]
 

Similar threads

S
回复
0
查看
970
swish
S
D
回复
0
查看
869
DelphiTeacher的专栏
D
D
回复
0
查看
707
DelphiTeacher的专栏
D
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
929
SUNSTONE的Delphi笔记
S
顶部