Filter löschen
Filter löschen

How to print \ in fprintf?

3 Ansichten (letzte 30 Tage)
Jay Vaidya
Jay Vaidya am 21 Jul. 2020
Beantwortet: Cris LaPierre am 21 Jul. 2020
I have to print a command to a file,
lib_def = '.lib C:\Users\vaidy\Documents\LTspiceXVII\lib\cmp\standard.mos\n'
Opamp_lib = '.lib UniversalOpamps2.sub\n'
File = fopen('oscillator_8.cir','w');
fprintf(File,sprintf(lib_def));
fprintf(File,Opamp_lib);
fclose(File);
I'm using the above commands, but it doesn't print the same to the file.
Output:
.lib C:.lib UniversalOpamps2.sub

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 21 Jul. 2020
lib_def = '.lib C:\Users\vaidy\Documents\LTspiceXVII\lib\cmp\standard.mos' %no \n here!
fprintf(File,'%s\n', lib_def);

Weitere Antworten (2)

Star Strider
Star Strider am 21 Jul. 2020
You need to ‘escape’ the backslant (\) with a preceding backslant (\\) in order to print it as you want to.
Perhaps this will do what you want:
lib_def = '.lib C:\\Users\\vaidy\\Documents\\LTspiceXVII\\lib\\cmp\\standard.mos\n'
I am assuming here that you want to retain the ‘\n’ as a newline character.
.

Cris LaPierre
Cris LaPierre am 21 Jul. 2020
You have not specified the formatspec input argument. Even with that, special characters like a backslash need to be handled differently. See the Text Before or After Formatting Operators section in the linked documentation page. Here, that means use "\\" when you wnat "\". Below is an example that prints to the screen, allowing you to verify the behavior.
lib_def = '.lib C:\\Users\\vaidy\\Documents\\LTspiceXVII\\lib\\cmp\\standard.mos\n'
fprintf(sprintf('%s',lib_def));

Kategorien

Mehr zu Introduction to Installation and Licensing finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by