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 comentarios

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

Iniciar sesión para comentar.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 24 de Ag. de 2021

0 votos

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

2 comentarios

Yasuyuki Hamanaka
Yasuyuki Hamanaka el 25 de Ag. de 2021
What I want to know seems to be function fgetl. I appreciate you.
Walter Roberson
Walter Roberson el 25 de Ag. de 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.

Iniciar sesión para comentar.

Más respuestas (1)

dpb
dpb el 24 de Ag. de 2021

0 votos

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

Categorías

Más información sobre Large Files and Big Data en Centro de ayuda y File Exchange.

Productos

Versión

R2021a

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by