fopen 'w' not writing

4 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!

Categories

Find more on Environment and Settings in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!