尝试将 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 循环之外。
我在这里写入文件时遇到问题...我一定是犯了一个简单的错误,但我找不到它。无论如何,这是代码:
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 循环之外。