twinat中的FB_FileGets与FB_FileRead

问题描述 投票:1回答:1

twincat公司的Beckhoff软件中有两个类似的读取文件功能。 FB_FileGetsFB_FileRead。如果有人解释这些功能的不同之处,并在我们使用它们时明确,我将不胜感激。他们两个都有相同的先决条件,在程序中以相同的方式使用?哪一个有更好的速度(快速读取不同的文件格式)和任何通知,使他们清楚更好的编程。

enter image description herevsenter image description here

twincat
1个回答
1
投票

FB_FileGets逐行读取文件。所以当你调用它时,你总是得到一行文本文件作为字符串。一行的最大长度为255个字符。因此,通过使用此功能块,可以非常轻松地读取文件的所有行。如果255行长度限制没问题,则无需缓冲区和内存复制。

FB_FileReadreads给出了文件中的字节数。因此,您可以在一行中读取具有例如65000个字符的文件。

我会在所有情况下使用FB_FileGets,你知道这些行少于255个字符并且你逐行处理数据。它使用起来非常简单。如果您不知道线条大小,您需要一次所有数据或文件非常大,我会使用FB_FileRead

我没有测试,但我认为FB_FileReadis可能更快,因为它只是将字节复制到缓冲区。你可以一次阅读整个文件,而不是逐行阅读。

© www.soinside.com 2019 - 2024. All rights reserved.