Как я могу напечатать текст в c / c ++ / java без двойных кавычек и апострофов в исходном коде

Как я могу напечатать текст, например язык программирования без двойных кавычек и апострофов в исходном коде? Я сделал в C ++:

#include <iostream>
#define Rep(x) #x
int main()
{
printf(Rep(programming language));
return 0;
}

Программа в порядке, но мне интересно, есть ли другой способ сделать это? и как это сделать в Java? Есть ли возможность сделать это в Java?

0

Решение

Вставьте единицы кода как целочисленные литералы:

#include <iostream>

int main() {
char[] string = { 0x41, 0x42, 0x43, 0x0A, 0x00 };
std::cout << string;
}

В Java это должно сделать:

byte[] bytes = {(byte)0x41, (byte)0x42, (byte)0x43, (byte)0x0A};
String string = new String(bytes, "UTF-8");
1

Другие решения

В C ++ 11 появилось много новых возможностей для строковых литералов.

0

Лучший способ избежать размещения строковых литералов в вашем коде — это использовать файл для их чтения. Примечание: вы должны учитывать ясность при взгляде на альтернативы. Спроси себя как

Rep(programming language)

яснее / лучше, чем

"programming language"

Кстати: если вы хотите сделать ваш код нечитаемым, вы можете сделать это на Java

String s = \u0022programming language\u0022
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector