Надстрочный код в выводе консоли C++
Я хотел бы, чтобы моя программа выводила " cm2" (см в квадрате).
Как сделать Надстрочный 2?
6 ответов
Как сказал Зан, это зависит от того, какую кодировку поддерживает ваш стандартный вывод. Если он поддерживает Unicode, вы можете использовать кодировку для 2 (U + 00B2). Если он поддерживает ту же кодировку Unicode для исходных файлов и стандартного вывода, вы можете просто встроить его в файл. Например, моя система GNU / Linux использует UTF-8 для обоих, поэтому это отлично работает:
#include <iostream>
int main()
{
std::cout << "cm²" << std::endl;
}
Это не то, что C++ может сделать самостоятельно.
вам нужно будет использовать определенную функцию вашей консольной системы.
Я не знаю никаких консолей или терминалов, которые реализуют супер-скрипт. Хотя, возможно, я ошибаюсь.
Я пытался выполнить эту задачу для квадратичной решатель уравнения. Пишу ax²
внутри cout <<
удерживая ALT при вводе 253 отображается правильно только в исходном коде, но не в консоли. При запуске программы она появилась в виде светлого прямоугольника вместо надстрочного 2.
простое решение этого, кажется, бросает целое число 253 как символ, как это... (char)253
.
потому что наш профессор отговаривает нас от использования "магических чисел", я объявил его постоянной переменной... const int superScriptTwo = 253; //ascii value of super script two
.
затем, когда я хотел, чтобы Надстрочный 2 появился в консоли, я бросил свою переменную как char
такой...
cout << "f(x) = ax" << (char)superScriptTwo << " + bx + c";
и он прекрасно отображается.
возможно, еще проще просто создать его как char
для начала, и не беспокойтесь о его кастинге. Этот код также напечатает super script 2 на консоли при компиляции и запуске в VS2013 на моем Lenovo под управлением Windows 7...
char ssTwo = 253;
cout << ssTwo << endl;
Я надеюсь, что кто-то найдет это полезным. Это мой первый пост, когда-либо, поэтому я заранее извиняюсь, если я случайно нарушил какие-либо протоколы переполнения стека для ответа на вопрос, опубликованный 5+ лет назад. Любое такое событие не было преднамеренным.
Да, я согласен с Зан.
основные C++ не имеет встроенной функциональности для печати надстрочные или подстрочные. Вам нужно использовать любую дополнительную библиотеку UI.
для супер-скриптов или суб-скриптов вам нужно использовать значение ascii буквы или числа.
например: Super scripting 2 для x2 нам нужно получить ascii value of super script of 2
(поиск в google для этого) ie -253
. Для ввода символа ascii вам нужно сделать alt + 253
здесь вы можете написать любое число, но его 253 в этом случае.
например:-cout<<"x²";
Итак, теперь он должен отображать x²
на черном экране.
почему бы вам не попробовать ASCII?
Объявите символ и дайте ему значение ASCII 253
и затем распечатать символ.
Поэтому ваш код должен выглядеть следующим образом;
char ch = 253;
cout<<"cm"<<ch;
это определенно будет печатать cm2.