Я посмотрел на решения JavaScript для аналогичной проблемы (например, FromCharCode) и нашел этот код в Интернете: https://ideone.com/Udo3hN
#include <cstdarg>
#include <iostream>
using namespace std;
string FromCharCode ( int num, ... )
{
va_list arguments;
char ch;
string s;
va_start ( arguments, num );
for ( int x = 0; x < num; x++ )
{
ch = va_arg ( arguments, int );
s = s + ch;
}
va_end ( arguments );
return s;
}
int main()
{
cout<<FromCharCode (10,73,78,68,69,83,73,71,78,33,33) ;//<<endl;
return 0;
}
В частности, похоже, что чтение символов является проблемой, потому что во время выполнениявместо того, чтобы читать '\ n' как значение 10, например, массив символов будет фактически записывать два целых [92,110].
Используя жестко закодированную строку, компилятор анализирует экранированные символы в качестве желаемых значений.
Любые предложения или решения по-прежнему приветствуются.