Я пытаюсь записать часть файла C++ для вывода текста в файл, который будет читать gnuPlot. Я хочу включать символы {и} в свой выходной файл, так что gnuplot может читать их в стиле, подобном используемому laTex.
Соответствующий раздел моего кода читает
std::ofstream gnuplotFile2;
gnuplotFile2.open("FourierImages.gpi");
gnuplotFile2 << "set xlabel \"Wavenumber (m^" << '\\\u007B' << "-1" << '\} << "\"\n";
Здесь я использовал и \u007B и}, чтобы попытаться вывести {или}. Я также попытался включить только "... (m ^ {-1})\n"; и "... (m ^\{-1 \}\m" ;.
Мой выходной файл всегда читает
set xlabel "Wavenumber (m^-1)"
который создает график/диаграмму с меткой, имеющей символ в надстроке, но 1 как обычный скрипт.
Как я могу вывести символы {и} в файл? я бы хотел
set xlabel "Wavenumber (m^{-1})"
Если я что-то не хватает, просто используйте символы {
и }
, как это
$ cat test.cc
#include <iostream>
#include <fstream>
int main() {
std::ofstream gnuplotFile2;
gnuplotFile2.open("FourierImages.gpi");
gnuplotFile2 << "set xlabel \"Wavenumber (m^{" << "-1" << "})\"\n";
}
$ g++ test.cc && ./a.out && cat FourierImages.gpi
set xlabel "Wavenumber (m^{-1})"
plotfile << "set xlabel \"Wavenumber (m^{-1})\"\n"
; должно сработать. Брекеты не особенные.'\\\u007B'
Это не 1 символ, поэтому вы должны использовать двойные кавычки:"\\\u007B"