Error message when writing file names with "\" character to text file.
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am outputting file names with partial paths, which have "\" in them, to a text file. If I only write the 12 character filename, I have no problem. It seems anything with a "\" yields an error (see attached).
% Write results to file outdata = [name(53:73),',',num2str(numberOfBlobs)]; fprintf(fid,outdata); fprintf(fid,'\r\n');
0 commentaires
Réponse acceptée
Steven Lord
le 6 Déc 2016
When you use the syntax fprintf(fid,outdata); the fprintf function is using your outdata variable as the format specification. Normally this is okay, if for example you wrote fprintf(fid, 'abcde') the char vector 'abcde' doesn't have any formatting operators. But if your char vector does contain something that looks like a formatting operator, like '\Z' for example, fprintf will try to treat it as a formatting operator. If it's not a formatting operator, you receive the warning you received.
In this case I recommend explicitly specifying a format specification like fprintf(fid, '%s', outdata). This way fprintf will interpret your outdata variable only as data, not as the format specification, and your data can include things that look like formatting operators without them being treated as formatting operators.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Environment and Settings dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!