Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

How do I output data from a txt file?

3 visualizaciones (últimos 30 días)
John Jamieson
John Jamieson el 3 de Nov. de 2020
Cerrada: MATLAB Answer Bot el 20 de Ag. de 2021
Let me explain, I want to take these messages from a .txt file:
Congratulations!
Way to go!
You're amazing!
Fantastic!
Wow!
So far I have this code:
function [asciifromfile] = getPhrase ()
g=rndInt(1,5);
fileID=fopen('CSE101lab5Congrats.txt',r);
asciifromfile=fread(fileID);
end
I want it to display one of the messages, depending on whether or not g=a number between 1 or 5. For example, if g=1, output Congragulations!

Respuestas (1)

Aalali
Aalali el 4 de Nov. de 2020
Hello John
Here is the modified version of your function to read one line from the file each time and store it to retrive it later:
function [txtLines] = getPhrase()
fileID = fopen('CSE101lab5Congrats.txt'); % open the text file
i = 1;
while ~feof(fileID) % while not reaching the end of file
asciifromfile = fgetl(fileID);% use fget1 to read a line from the text file
txtLines{i,1} = asciifromfile;% store each line from the file in a cell
i = i+1;
end
fclose(fileID);
end
Then, to call it:
[txtLines] = getPhrase();
g = randi(5)
disp(txtLines{g})
And here is an output example:
g = 4
Fantastic!
Hope this would help.
  1 comentario
Rik
Rik el 4 de Nov. de 2020
If you want to dynamically select any of the lines:
disp(txtLines{randi(end)})
This code will select any of the lines, even if there are more than 5.

La pregunta está cerrada.

Productos


Versión

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by