Warning: Control Character '\Q' is not valid. fprintf

4 Ansichten (letzte 30 Tage)
Asher Metzger
Asher Metzger am 3 Mär. 2016
Bearbeitet: Stephen23 am 6 Mär. 2016
Hi there,
I searched all over and this seems to be an undocumented problem. At least not heavily documented.
I am trying to modify a txt file by reading it into a cell array with fgetl and then make changes to the relevant lines and finally write a txt file with the changes using fprintf. I get the warning in the subject and these lines are not written. these lines are paths.
What am I doing wrong? or what would be the right way to escape the problem? the files are attached. no need to run further than line 31 in main.m. The functions after that are not needed for my question.
Thanks a bunch, Asher
  2 Kommentare
Stephen23
Stephen23 am 3 Mär. 2016
Bearbeitet: Stephen23 am 6 Mär. 2016
This is quite well documented in the fprintf documentation. Image Analyst has shown you the correct way to use fprintf, using a format specifier string (exactly as per the fprintf documentation): instead of this:
fprintf(fid,A{1,i});
fprintf(fid,'\n');
(which will throw an error with '\Q' and many other character combinations) you simply need to read the fprintf documentation, and use a format string:
fprintf(fid, '%s\n', A{1,i});
Asher Metzger
Asher Metzger am 6 Mär. 2016
You're right it is documented. I just didn't understand it... Thanks a lot.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 3 Mär. 2016
You can print out a \Q if it's in a string. That's not the problem at all. The problem is that you don't have a format specifier string in your fprintf() statement. To fix, put '%s\n' in your fprintf().
fprintf(fid,'%s\n', A{1,i});
You don't need the second fprintf with just the backslash n because I combined it all into this single call to fprintf().

Weitere Antworten (0)

Kategorien

Mehr zu Environment and Settings finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by