Concatenate data using fgets

16 Ansichten (letzte 30 Tage)
Zhonghao Liao
Zhonghao Liao am 29 Sep. 2016
Kommentiert: Zhonghao Liao am 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~

Akzeptierte Antwort

KSSV
KSSV am 29 Sep. 2016
Bearbeitet: KSSV am 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);

Weitere Antworten (0)

Kategorien

Mehr zu File Operations finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by