overwrite a text file with other data

45 views (last 30 days)
lowcalorie
lowcalorie on 15 Mar 2012
Ok so here is what im stuck on.
I have a text file called testdata.txt from wordpad. this file contains the data:
2 4 9 5
3 7 8 1
now i need to overwrite this file with the vector [3 6 9].
so now when i open the file testdata.txt from wordpad the data that shows should only be 3 6 9

Answers (2)

Geoff
Geoff on 15 Mar 2012
Let's say your value is in the variable called v:
v = [3 6 9];
You can use save which will output lots of extra decimal places:
save('testdata.txt', 'v', '-ascii');
Or use file I/O (this example assumes your vector is integer):
fileID = fopen('testdata.txt', 'w');
fprintf(fileID, '%d %d %d\n', v);
fclose(fileID);
  4 Comments
lowcalorie
lowcalorie on 15 Mar 2012
i fixed the first 2 problems so my only problem now is just getting this mess to go away and only have my 3 values show up in my file
Geoff
Geoff on 15 Mar 2012
That 'mess' is the output from the save() function. I gave you two options. If you use save(), use it as I have shown (with the 'ascii' flag). If you use direct file I/O instead, you can get it to fail if you don't want to overwrite an existing file. You said you did want to overwrite, so I used the 'w' flag.

Sign in to comment.


Honglei Chen
Honglei Chen on 15 Mar 2012
Use 'w' option to open the file
fid=fopen('testdata','w');
fprintf(fid,'%d %d %d',3,6,9);
fclose(fid);
For details, see
doc fopen

Tags

Community Treasure Hunt

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

Start Hunting!