MATLAB: How to write all the character continuously

MATLAB

Hi guys. I got a question want to ask you guys. Below is my code.
string = uint8(retrieveblock);
export = sprintf('%d',string );
export = bin2dec(export);
char_export = char(export);
display(char_export);
fid = fopen('retrievedText.txt', 'w');
fwrite(fid, char_export);
fclose(fid);
This is within a for loop. my question is why I will just write the last character into the text file. Thanks and appreciate your opinion.

Best Answer

You write all characters to the file, but all former characters are overwritten continuously.
You could open the file for appending instead of overwriting:
fid = fopen('retrievedText.txt', 'a');
But it would be much more efficient to open the file once only before the loop:
fid = fopen('retrievedText.txt', 'w');
for k = 1:1000
...
fwrite(fid, char_export);
end
fclose(fid);