Info

この質問は閉じられています。 編集または回答するには再度開いてください。

How do I output data from a txt file?

3 ビュー (過去 30 日間)
John Jamieson
John Jamieson 2020 年 11 月 3 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
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!

回答 (1 件)

Aalali
Aalali 2020 年 11 月 4 日
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 件のコメント
Rik
Rik 2020 年 11 月 4 日
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.

この質問は閉じられています。

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by