fopen 'w' not writing

8 views (last 30 days)
David Phung
David Phung on 5 Dec 2014
Answered: David Phung on 6 Dec 2014
The following is my code. I seem to not be able to write the code into the phone.txt file. can anyone tell me where my error is? phonenos.csv is an file with 3 lines of 10 digits, reminiscent of a phone number without the dashes or parentheses. this code will write them into the format (xxx) xxx-xxxx
format long g
fid=fopen('phonenos.csv','r');
fid2=fopen('phone.txt','w');
for i=1:3
phonenos=fgetl(fid);
area=phonenos(1:3);
next3=phonenos(4:6);
last4=phonenos(6:9);
phonenos=['(' area ') ' next3 '-' last4];
end
close=fclose(fid);
close2=fclose(fid2);
type phone.txt

Accepted Answer

Orion
Orion on 5 Dec 2014
You forget a fprintf(fid2,... line, so you are not writing anything with this code, just open and close the phone.txt file.
you need to complete this
fid=fopen('phonenos.csv','r');
fid2=fopen('phone.txt','w');
for i=1:3
phonenos=fgetl(fid);
area=phonenos(1:3);
next3=phonenos(4:6);
last4=phonenos(6:9);
phonenos=['(' area ') ' next3 '-' last4];
fprintf(fid2,................) % line to complete
end
close=fclose(fid);
close2=fclose(fid2);
  1 Comment
Image Analyst
Image Analyst on 5 Dec 2014
I'd use the t option because they're text files.
fid = fopen('phonenos.csv', 'rt');
fid2 = fopen('phone.txt', 'wt');
From the help for fopen:
To open files in text mode, attach the letter 't' to the permission argument, such as 'rt' or 'wt+'.

Sign in to comment.

More Answers (1)

David Phung
David Phung on 6 Dec 2014
Thank you, it works like a charm!

Tags

Community Treasure Hunt

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

Start Hunting!