Я переношу программу с Perl на C++ в качестве учебной цели. Я прибыл в рутине, которая рисует таблицу с командами, как следующее:Перенос Perl на C++ `print ' x {2501}" x 12; `
Perl: print "\x{2501}" x 12;
И он рисует 12 раз в «━» («коробочный рисунки тяжелый горизонтальный»).
Теперь я понял, часть проблемы уже:
Perl: \x{}, \x00 Hexadecimal escape sequence;
C++: \unnnn
Для печати одного символа Unicode:
C++: printf("\u250f\n");
Но делает C++ есть умный эквивалент для оператора «х», или будет это сводится к циклу for?
UPDATE Позвольте мне включать полный исходный код, который я пытаюсь компилировать с предложенным решением. Компилятор делает добавлять еще ошибки:
g++ -Wall -Werror project.cpp -o project
project.cpp: In function ‘int main(int, char**)’:
project.cpp:38:3: error: ‘string’ is not a member of ‘std’
project.cpp:38:15: error: expected ‘;’ before ‘s’
project.cpp:39:3: error: ‘cout’ is not a member of ‘std’
project.cpp:39:16: error: ‘s’ was not declared in this scope
#include <stdlib.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <iostream>
int main (int argc, char *argv[])
{
if (argc != 2)
{
fprintf(stderr , "usage: %s matrix\n", argv[0]);
exit(2);
} else {
//std::string s(12, "\u250f");
std::string s(12, "u");
std::cout << s;
}
}
Связанный: [Умножить char целым числом (C++)] (http://stackoverflow.com/q/2596953), [В C++ я думал, что вы можете сделать «string times 2» = stringstring?] (Http://stackoverflow.com/q/5145792), [Умножение строки на int в C++] (http://stackoverflow.com/q/11843226) –
C использует 'printf'. В C++ мы предпочитаем 'std :: cout <<'. –