Hello!
Would you tell me how to read .txt file like below.
aaaaaa
bbbbbb
1
200
2000
4129
4189
I would like to read first two lines as string and other lines as real.
I tried to use fscanf though, it doesn't work well.
Thank you.

3 Kommentare

KSSV
KSSV am 24 Aug. 2021
First two lines are strings...how you can read them as integer?
Yasuyuki Hamanaka
Yasuyuki Hamanaka am 24 Aug. 2021
I made mistake. I edited it. Thank you.
Stephen23
Stephen23 am 24 Aug. 2021
@Yasuyuki Hamanaka: what integer do you expect the characters 'aaaaaa' to return ?

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 24 Aug. 2021

0 Stimmen

fid = fopen('input.txt');
textlines{1} = fgetl(fid);
textlines{2} = fgetl(fid);
numbers = cell2mat(textscan(fid, '%f'));
fclose(fid)

2 Kommentare

Yasuyuki Hamanaka
Yasuyuki Hamanaka am 25 Aug. 2021
What I want to know seems to be function fgetl. I appreciate you.
Walter Roberson
Walter Roberson am 25 Aug. 2021
For future reference:
There is also the closely related function fgets() . The difference between fgetl() and fgets() is that fgetl() strips the line terminators off, but fgets() leaves them in.
So when the purpose is to copy a file, then fgets() is better because it includes the original line terminators in -- if the original line terminator was CR+LF then the CR+LF will both be present for fgets() and will make it into any file that you write them to fgetl() would remove the CR+LF, so fgetl() is better for the case where you are analyzing the content and don't want to have to worry all the time about whether the original had CR+LF or LF alone.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

dpb
dpb am 24 Aug. 2021

0 Stimmen

Are the string data pertinent or just in the way of returning the numeric data?
If the former, while you can make it work with low-level i/o such as fprintf, it's the hard way to go at it -- use
readcell instead.
If the latter and the text is (say) a header line and units or similar, use readtable

Kategorien

Mehr zu Large Files and Big Data finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by