尝试将 fopen 和 fprintf 与 matlab 一起使用,只写一次

Trying to use fopen and fprintf with matlab, only writing once

我在这里写入文件时遇到问题...我一定是犯了一个简单的错误,但我找不到它。无论如何,这是代码:

ages = 1;
while (ages > 0)
    fileID = fopen('age.txt', 'w'); %opens file
    ages = input('Enter an age (negative to quit): '); %user input
    if(ages > 0) %so it doesn't add on the break number
        fprintf(fileID, '%d\r\n', ages);
    end
end

fclose(fileID);

我的问题是它没有向文件写入任何内容。如果我删除 if 语句,它只会将 -1 写入文件(使用 -1 作为负数 'quit')。 我错过了什么?

简单,

您的 fopen 命令在循环内...所以每次 "it opens file for writing and discard existing contents, if any" (w 模式)。

fopen 放在 while 循环之外。