在新的一行写到文件中 - 页 2 1234567 新评论 Valeriy Yastremskiy 2020.08.21 20:24 #11 EfremovSergey: 如何在读完一个字符串后将其删除,有什么简单的方法吗? 由谁来读?如果由你,你可以用手擦掉它。如果由机器人来做,那就毫无意义。你可以在收到数据后立即对该算法做出决定。 EfremovSergey 2020.08.22 07:07 #12 Valeriy Yastremskiy:由谁来读?如果由你,你可以用手擦掉它。如果由机器人来做,那就毫无意义。你可以在收到数据后立即对该算法做出决定。 在我看来,如果你不摆脱已经处理过的信息,那么你就必须花费资源来重新分析它。 EfremovSergey 2020.08.22 07:20 #13 Ihor Herasko: 在大多数情况下,最好是读取整个文件,在内存中对数据进行必要的修改,然后再覆盖整个文件。这比在一个开放的文件 内移动数据更容易。 如果一个EA正在读取一个文件的全部内容,另一个EA是否可以在第一个EA的同时访问同一个文件,做出自己的行动? 为了实验,我手动打开了文件,并试图将专家顾问写入其中;只有在重新打开后才显示信息。 如果我试图手动打开该文件,而专家顾问正在处理该文件,它根本拒绝打开,因为该文件的处理过程太忙了。 我并不完全理解这一规定。在完全覆盖的情况下,所有尚未读取的内容都会被删除,这不会有什么效果吧? 另一个细节是,该文件由不同的专家顾问访问,他们不知道其他专家顾问是否已经阅读了与他们相关的信息,因此,整个文件可以被清除掉。 Alexey Viktorov 2020.08.22 07:26 #14 EfremovSergey:如果一个EA正在读取一个文件的全部内容,另一个EA是否可以在第一个EA的同时访问同一个文件,做出自己的行动?为了实验,我手动打开了文件,并试图将专家顾问写入其中;只有在重新打开后才显示信息。如果我试图手动打开该文件,而专家顾问正在处理该文件,它根本拒绝打开,因为该文件的处理过程太忙了。我并不完全理解这一规定。不会发生在完全覆盖的情况下,所有尚未读到的也会被删除吧? 当打开文件时,添加共同阅读标志 FILE_SHARE_READ,也许你也需要共同编辑标志{写}。这取决于 你决定是否有必要。 EfremovSergey 2020.08.22 07:29 #15 Alexey Viktorov:当打开一个文件时,添加 FILE_SHARE_READ 共读标志 ,可能还有共编辑/写标志。由 你决定是否需要。 好的。非常感谢你。有用的信息。 还有,如何只删除一行,谁能建议一下? Alexey Viktorov 2020.08.22 07:48 #16 EfremovSergey:好的。非常感谢你。有用的信息。谁能建议如何只删除一行? 这取决于哪条线。我没有做过,但如果我不得不做,我会从自己的实验开始。谁想用别人的想法做实验?除了从闲置中。看看是否有可能将你的文件读入SQLite数据库,删除这个字符串并将其写回。如果可以写入数组或结构数组,你也可以这样做。但问题是,数组和结构是写在.bin文件中的,其他东西都无法打开和查看。一般来说,在试图实现一个结果的过程中,会有幻想和实验。 EfremovSergey 2020.08.22 08:18 #17 Alexey Viktorov:这取决于什么类型的绳子。我没有做过,但如果我不得不做,我会从自己的实验开始。谁想用别人的想法做实验?除了从闲置中。看看是否有可能将你的文件读入SQLite数据库,删除这个字符串并将其写回。如果可以写入数组或结构数组,你也可以这样做。但问题是,数组和结构是写在.bin文件中的,其他东西都无法打开和查看。总而言之,这是在试图获得一个结果的过程中进行的一次飞行和实验。 一个普通的文本文件...如果你不知道怎么做,这个问题就会自己消失,每个人都在实验。正如他们所说,这个概念在于表面,不需要任何额外的配音。 Ihor Herasko 2020.08.22 08:55 #18 EfremovSergey:谁能建议如何只删除一行? 最简单的方法是读取文件,处理数据,写回文件。在不问太多问题的情况下直接编辑文件数据,只能逐个字符进行:读取一个字符并将其写回,以取代要删除的信息。以块为单位的覆盖比较困难,因为不同的数据片断可能会重叠在一起。因此,所有这些都很复杂,而且不太清楚为什么需要这样做。真的没有那么多内存吗?但这样一来,大量程序的运行也就不可能了。 Alexey Viktorov 2020.08.22 10:25 #19 EfremovSergey:一个纯文本文件...如果你不知道怎么做,那么这个问题就会自己消失,每个人都尽可能地进行实验,只要他们知道怎么做。正如他们所说,这个概念在于表面,不需要任何额外的配音。 好吧,如果你认为 "普通文本文件...... "的信息就足够了,那么你只是对心灵感应。我不知道地址,你可以自己去找。出于某种原因,你没有考虑到即使是文本文件也是不同的。是否有行终止符,文件里有什么:数字还是文本,可能还有其他细微差别。 伊戈尔为你提供了最简单的方法。你可能不喜欢它,所以我建议你做实验。而这个概念只为你在表面上......... EfremovSergey 2020.08.22 10:30 #20 Ihor Herasko:最简单的方法是读取文件,处理数据并将其写回。在不问太多问题的情况下直接编辑文件数据,只能是逐个字符进行编辑:读取一个字符并将其写入要删除的信息的位置。以块为单位的覆盖比较困难,因为不同的数据片断可能会重叠在一起。因此,这一切都很复杂,而且不太清楚为什么需要这样做。真的没有那么多内存吗?但这样一来,大量程序的运行也就不可能了。 这里有一个问题:有10个程序写入文件,另外10个程序从文件中读取,你不希望每个读取的程序一直处理整个累积的数据阵列。 附加的文件: Copy.txt 1 kb 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如何在读完一个字符串后将其删除,有什么简单的方法吗?
由谁来读?如果由你,你可以用手擦掉它。如果由机器人来做,那就毫无意义。你可以在收到数据后立即对该算法做出决定。
由谁来读?如果由你,你可以用手擦掉它。如果由机器人来做,那就毫无意义。你可以在收到数据后立即对该算法做出决定。
在我看来,如果你不摆脱已经处理过的信息,那么你就必须花费资源来重新分析它。
在大多数情况下,最好是读取整个文件,在内存中对数据进行必要的修改,然后再覆盖整个文件。这比在一个开放的文件 内移动数据更容易。
如果一个EA正在读取一个文件的全部内容,另一个EA是否可以在第一个EA的同时访问同一个文件,做出自己的行动?
为了实验,我手动打开了文件,并试图将专家顾问写入其中;只有在重新打开后才显示信息。
如果我试图手动打开该文件,而专家顾问正在处理该文件,它根本拒绝打开,因为该文件的处理过程太忙了。
我并不完全理解这一规定。在完全覆盖的情况下,所有尚未读取的内容都会被删除,这不会有什么效果吧?
另一个细节是,该文件由不同的专家顾问访问,他们不知道其他专家顾问是否已经阅读了与他们相关的信息,因此,整个文件可以被清除掉。
如果一个EA正在读取一个文件的全部内容,另一个EA是否可以在第一个EA的同时访问同一个文件,做出自己的行动?
为了实验,我手动打开了文件,并试图将专家顾问写入其中;只有在重新打开后才显示信息。
如果我试图手动打开该文件,而专家顾问正在处理该文件,它根本拒绝打开,因为该文件的处理过程太忙了。
我并不完全理解这一规定。不会发生在完全覆盖的情况下,所有尚未读到的也会被删除吧?
当打开文件时,添加共同阅读标志 FILE_SHARE_READ,也许你也需要共同编辑标志{写}。这取决于 你决定是否有必要。
当打开一个文件时,添加 FILE_SHARE_READ 共读标志 ,可能还有共编辑/写标志。由 你决定是否需要。
好的。非常感谢你。有用的信息。
还有,如何只删除一行,谁能建议一下?
好的。非常感谢你。有用的信息。
谁能建议如何只删除一行?
这取决于哪条线。我没有做过,但如果我不得不做,我会从自己的实验开始。谁想用别人的想法做实验?除了从闲置中。看看是否有可能将你的文件读入SQLite数据库,删除这个字符串并将其写回。如果可以写入数组或结构数组,你也可以这样做。但问题是,数组和结构是写在.bin文件中的,其他东西都无法打开和查看。一般来说,在试图实现一个结果的过程中,会有幻想和实验。
这取决于什么类型的绳子。我没有做过,但如果我不得不做,我会从自己的实验开始。谁想用别人的想法做实验?除了从闲置中。看看是否有可能将你的文件读入SQLite数据库,删除这个字符串并将其写回。如果可以写入数组或结构数组,你也可以这样做。但问题是,数组和结构是写在.bin文件中的,其他东西都无法打开和查看。总而言之,这是在试图获得一个结果的过程中进行的一次飞行和实验。
一个普通的文本文件...如果你不知道怎么做,这个问题就会自己消失,每个人都在实验。正如他们所说,这个概念在于表面,不需要任何额外的配音。
谁能建议如何只删除一行?
最简单的方法是读取文件,处理数据,写回文件。在不问太多问题的情况下直接编辑文件数据,只能逐个字符进行:读取一个字符并将其写回,以取代要删除的信息。以块为单位的覆盖比较困难,因为不同的数据片断可能会重叠在一起。因此,所有这些都很复杂,而且不太清楚为什么需要这样做。真的没有那么多内存吗?但这样一来,大量程序的运行也就不可能了。
一个纯文本文件...如果你不知道怎么做,那么这个问题就会自己消失,每个人都尽可能地进行实验,只要他们知道怎么做。正如他们所说,这个概念在于表面,不需要任何额外的配音。
好吧,如果你认为 "普通文本文件...... "的信息就足够了,那么你只是对心灵感应。我不知道地址,你可以自己去找。出于某种原因,你没有考虑到即使是文本文件也是不同的。是否有行终止符,文件里有什么:数字还是文本,可能还有其他细微差别。
伊戈尔为你提供了最简单的方法。你可能不喜欢它,所以我建议你做实验。而这个概念只为你在表面上.........
最简单的方法是读取文件,处理数据并将其写回。在不问太多问题的情况下直接编辑文件数据,只能是逐个字符进行编辑:读取一个字符并将其写入要删除的信息的位置。以块为单位的覆盖比较困难,因为不同的数据片断可能会重叠在一起。因此,这一切都很复杂,而且不太清楚为什么需要这样做。真的没有那么多内存吗?但这样一来,大量程序的运行也就不可能了。
这里有一个问题:有10个程序写入文件,另外10个程序从文件中读取,你不希望每个读取的程序一直处理整个累积的数据阵列。