Concatenate data using fgets

16 views (last 30 days)
Zhonghao Liao
Zhonghao Liao on 29 Sep 2016
Commented: Zhonghao Liao on 29 Sep 2016
I want to read a data pattern from a txt file and concatenate each line together. I wrote the following program but the error message shows:
function read_datapattern(filename)
fid = fopen(filename,'rt');
if fid < 0
error('error opening file %s\n\n',filename);
end
pattern = fgets(fid);
for n = 1:32767
nextline = fgets(fid);
pattern = strcat(pattern, nextline);
fprintf(pattern);
fprintf('\n');
fclose(fid);
end
"Invalid file identifier. Use fopen to generate a valid file identifier." "nextline = fgets(fid);"
How do I need to modify the program? Thank you~

Accepted Answer

KSSV
KSSV on 29 Sep 2016
Edited: KSSV on 29 Sep 2016
You are closing the file in the loop. close the file after the loop. I assume the below should work.
function read_datapattern(filename)
fid = fopen(filename,'rt');
if fid < 0
error('error opening file %s\n\n',filename);
end
pattern = fgets(fid);
for n = 1:32767
nextline = fgets(fid);
pattern = strcat(pattern, nextline);
fprintf(pattern);
fprintf('\n');
end
fclose(fid);

More Answers (0)

Categories

Find more on File Operations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!