У меня возникли проблемы с записью в файл здесь ... Я должен сделать простую ошибку, но я не могу ее найти. В любом случае, вот код:Пытается использовать fopen и fprintf с matlab, только один раз писать
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' находится внутри цикла ... поэтому каждый раз« он открывает файл для записи. Отмените существующее содержимое, если оно есть »(режим' w'). Поместите 'fopen' вне' while' loop – CitizenInsane
Начните с перемещения 'fileID = fopen ('age.txt', 'w'); % открывает файл 'перед' while'. Достаточно открыть файл только один раз. –
@CitizenInsane Возможно, вы захотите добавить это в ответ. Если только получить хороший и аккуратный обзор, пусть другие видят, что на это отвечает. –