试着用matlab使用fopen和fprintf,只写一次

时间:2015-03-07 09:48:04

标签: matlab input printf fopen

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

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'数字)。 我错过了什么?

1 个答案:

答案 0 :(得分:0)

简单,

你的fopen命令在循环内...所以每次"它打开文件进行写入并丢弃现有内容,如果有的话#34; (w模式)。

fopen置于循环中。