how to read data and put them into separate line?

2 views (last 30 days)
Hello I read a file with the
Training=fscanf(fileid,'%c %c%c %c\n'); command.
But why dont enter a new row to read the next line and place the entire file in a character? What should I do to separate the row into a row and in a separate row?
EDIT: f moradi's "Answer" moved here:
my file Inside zip file. I write this code. but I want separete lines.
fileid=fopen ('C:\Users\f\Documents\MATLAB\me\noisy_train.ssv');
Training=fscanf(fileid,'%c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c\n');
  7 Comments
dpb
dpb on 21 Jun 2018
OK, that helps.
Are the lengths of the records known a priori or do you have to figure that out? If known, it's trivial making use of that, otherwise you needs must read in a way to count records to shape the output in the array.
f moradi
f moradi on 21 Jun 2018
the lengths of the records are known a priori

Sign in to comment.

Accepted Answer

dpb
dpb on 21 Jun 2018
In that case (known record length)
>> L=23; % define record length
>> fmt=repmat('%c',1,L); % format string given length
>> fid=fopen('train.txt');
>> data=cell2mat(textscan(fid,fmt,'collectoutput',1)) % read the file
data =
14×23 char array
'1fyyfffcbpebkkbppwolhyg'
'1fsbtffcbptbfswwpwophvg'
'0fyetnfcbutbsspwpwopkvd'
'1fyyfffcbpebkkbbpwolhvd'
'0fygtnfcbutbssggpwopnvd'
'0bywtlfcbkecsswwpwopnnm'
'0fyetnfcbutbsswgpwopnyd'
'0fswfnfwbhtesswwpwoensg'
'0xswfnfwbntefswwpwoensg'
'0xfgfnfcnneesswwpwopkyu'
'1xygfffcbgebkknppwolhvd'
'1xfgfffcbhebkkbppwolhyp'
'1xfgfffcbpebkknbpwolhyd'
'0xyntnfcbwtbssgwpwopnyd'
>> fid=fclose(fid);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!