Hoo*_*och 0 pascal freepascal lazarus
我正在Pascal的小型项目上学.我正在使用Lazaruz 1.0.2
写入文件时,我遇到了wirteLn函数的问题.一段时间后,它只是停止写入文件.
以此程序为例:
var oFile: Text;
i: LongWord;
begin
Assign(oFile, 'test.txt');
ReWrite(oFile);
for i:=1 to 4096 do
WriteLn(oFile, 'ThisIsTest');
CloseFile(oFile);//Added as suggested
end.
Run Code Online (Sandbox Code Playgroud)
这是输出:
...
4072 ThisIsTest
4073 ThisIsTest
4074 ThisIsTest
4075 ThisIsTe
Run Code Online (Sandbox Code Playgroud)
正如你所看到的那样,它只是在句子的中间停止而且并不是全部写的.所有这些都取决于一个WriteLn insturction的持续时间和调用次数.
怎么解决?
我尝试使用名为WriteFile的"Windows"模块中的WinApi函数,但是我没能将最后3个参数传递给它.
大新闻
谢谢.这个例子中有效(关闭文件).但是我有一些更复杂的程序,我将打开的文件句柄传递给通过"var"写入它的函数.即使在关闭该文件后也没有做任何事情.它很奇怪.
| 归档时间: |
|
| 查看次数: |
338 次 |
| 最近记录: |