在新的一行写到文件中 - 页 2

 
EfremovSergey:
如何在读完一个字符串后将其删除,有什么简单的方法吗?

由谁来读?如果由你,你可以用手擦掉它。如果由机器人来做,那就毫无意义。你可以在收到数据后立即对该算法做出决定。

 
Valeriy Yastremskiy:

由谁来读?如果由你,你可以用手擦掉它。如果由机器人来做,那就毫无意义。你可以在收到数据后立即对该算法做出决定。

在我看来,如果你不摆脱已经处理过的信息,那么你就必须花费资源来重新分析它。

 
Ihor Herasko:

在大多数情况下,最好是读取整个文件,在内存中对数据进行必要的修改,然后再覆盖整个文件。这比在一个开放的文件 内移动数据更容易。

如果一个EA正在读取一个文件的全部内容,另一个EA是否可以在第一个EA的同时访问同一个文件,做出自己的行动?

为了实验,我手动打开了文件,并试图将专家顾问写入其中;只有在重新打开后才显示信息。

如果我试图手动打开该文件,而专家顾问正在处理该文件,它根本拒绝打开,因为该文件的处理过程太忙了。

我并不完全理解这一规定。在完全覆盖的情况下,所有尚未读取的内容都会被删除,这不会有什么效果吧?

另一个细节是,该文件由不同的专家顾问访问,他们不知道其他专家顾问是否已经阅读了与他们相关的信息,因此,整个文件可以被清除掉。

 
EfremovSergey:

如果一个EA正在读取一个文件的全部内容,另一个EA是否可以在第一个EA的同时访问同一个文件,做出自己的行动?

为了实验,我手动打开了文件,并试图将专家顾问写入其中;只有在重新打开后才显示信息。

如果我试图手动打开该文件,而专家顾问正在处理该文件,它根本拒绝打开,因为该文件的处理过程太忙了。

我并不完全理解这一规定。不会发生在完全覆盖的情况下,所有尚未读到的也会被删除吧?

当打开文件时,添加共同阅读标志 FILE_SHARE_READ,也许你也需要共同编辑标志{写}。这取决于 你决定是否有必要。

 
Alexey Viktorov:

当打开一个文件时,添加 FILE_SHARE_READ 共读标志 ,可能还有共编辑/写标志。由 你决定是否需要

好的。非常感谢你。有用的信息。

还有,如何只删除一行,谁能建议一下?

 
EfremovSergey:

好的。非常感谢你。有用的信息。

谁能建议如何只删除一行?

这取决于哪条线。我没有做过,但如果我不得不做,我会从自己的实验开始。谁想用别人的想法做实验?除了从闲置中。看看是否有可能将你的文件读入SQLite数据库,删除这个字符串并将其写回。如果可以写入数组或结构数组,你也可以这样做。但问题是,数组和结构是写在.bin文件中的,其他东西都无法打开和查看。一般来说,在试图实现一个结果的过程中,会有幻想和实验。

 
Alexey Viktorov:

这取决于什么类型的绳子。我没有做过,但如果我不得不做,我会从自己的实验开始。谁想用别人的想法做实验?除了从闲置中。看看是否有可能将你的文件读入SQLite数据库,删除这个字符串并将其写回。如果可以写入数组或结构数组,你也可以这样做。但问题是,数组和结构是写在.bin文件中的,其他东西都无法打开和查看。总而言之,这是在试图获得一个结果的过程中进行的一次飞行和实验。

一个普通的文本文件...如果你不知道怎么做,这个问题就会自己消失,每个人都在实验。正如他们所说,这个概念在于表面,不需要任何额外的配音。

 
EfremovSergey:

谁能建议如何只删除一行?

最简单的方法是读取文件,处理数据,写回文件。在不问太多问题的情况下直接编辑文件数据,只能逐个字符进行:读取一个字符并将其写回,以取代要删除的信息。以块为单位的覆盖比较困难,因为不同的数据片断可能会重叠在一起。因此,所有这些都很复杂,而且不太清楚为什么需要这样做。真的没有那么多内存吗?但这样一来,大量程序的运行也就不可能了。

 
EfremovSergey:

一个纯文本文件...如果你不知道怎么做,那么这个问题就会自己消失,每个人都尽可能地进行实验,只要他们知道怎么做。正如他们所说,这个概念在于表面,不需要任何额外的配音。

好吧,如果你认为 "普通文本文件...... "的信息就足够了,那么你只是对心灵感应。我不知道地址,你可以自己去找。出于某种原因,你没有考虑到即使是文本文件也是不同的。是否有行终止符,文件里有什么:数字还是文本,可能还有其他细微差别。

伊戈尔为你提供了最简单的方法。你可能不喜欢它,所以我建议你做实验。而这个概念只为你在表面上.........

 
Ihor Herasko:

最简单的方法是读取文件,处理数据并将其写回。在不问太多问题的情况下直接编辑文件数据,只能是逐个字符进行编辑:读取一个字符并将其写入要删除的信息的位置。以块为单位的覆盖比较困难,因为不同的数据片断可能会重叠在一起。因此,这一切都很复杂,而且不太清楚为什么需要这样做。真的没有那么多内存吗?但这样一来,大量程序的运行也就不可能了。

这里有一个问题:有10个程序写入文件,另外10个程序从文件中读取,你不希望每个读取的程序一直处理整个累积的数据阵列。

附加的文件:
Copy.txt  1 kb