1

我正在用 eiffel 编程,每次我打开一个文件并开始写入它时,它都会删除它的内容并开始写入它,就像它是一个空文件一样,有没有办法在不删除以前的内容的情况下做到这一点?

这是一个代码示例

local
    f: PLAIN_TEXT_FILE
do
    create f.make_open_write("C://myName/desktop//myfile.txt")
    f.put_integer(3)

现在文件将包含 3 并且所有以前的数据都将丢失!

4

2 回答 2

2

make_open_append在这种情况下应使用创建过程:

create f.make_open_append ("C:/myName/desktop/myfile.txt")
f.put_integer(3)
于 2014-02-25T16:57:10.260 回答
1

如果要在文件末尾附加文本,请像这样使用 make_open_append:

f.make_open_append("C://myName/desktop//myfile.txt")

如果您想从文件的开头重写(例如在您的示例中,将文件的第一个字符替换为 3),您可以在读写模式下打开并像这样写入:

f.make_open_read_write("C://myName/desktop//myfile.txt")
f.put_integer(3)
于 2014-02-25T17:07:00.180 回答