I am porting a program from Perl to C++ as a learning objective. I arrived at a routine that draws a table with commands like the following:  Perl: print "\x{2501}" x 12;   And it draws 12 times a '━' ("box drawings heavy horizontal").  Now I figured out part of the problem already:  Perl: \x{}, \x00        Hexadecimal escape sequence; C++:  \unnnn   To print a single Unicode character:  C++:  printf( "\u250f\n" );   But does C++ have a smart equivalent for the 'x' operator or would it come down to a for loop?    UPDATE Let me include the full source code I am trying to compile with the proposed solution. The compiler does throw an errors:  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 &lt;stdlib.h&gt; #include &lt;stdint.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;iostream&gt;  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 &lt;&lt; s;         }        }
15010
I want to insert 'n' spaces (or any string) at the beginning of a string in C++. Is there any direct way to do this using either std::strings or char* strings?  E.g. in Python you could simply do  &gt;&gt;&gt; "." * 5 + "lolcat" '.....lolcat'
45276
I'd like to create a random string, consisting of alpha-numeric characters. I want to be able to be specify the length of the string.  How do I do this in C++?
7285
How can I convert an std::string to a char* or a const char*?
37291
Does C++ support '' blocks?  What is the ?  What is the difference between C++'s RAII idiom and ?
25119
Is it possible to convert UTF8 string in a std::string to std::wstring and vice versa in a platform independent manner? In a Windows application I would use MultiByteToWideChar and WideCharToMultiByte. However, the code is compiled for multiple OSes and I'm limited to standard C++ library.
54729
I'm looking for a way to convert a preprocessor token to a string.  Specifically, I've somewhere got:  #define MAX_LEN 16   and I want to use it to prevent buffer overrun:  char val[MAX_LEN+1]; // room for \0 sscanf(buf, "%"MAX_LEN"s", val);   I'm open to other ways to accomplish the same thing, but standard library only.
12888
I'm trying to print types like off_t and size_t.  What is the correct placeholder for printf() that is portable?  Or is there a completely different way to print those variables?
53092
This should be a fairly trivial problem. I'm trying to open an ofstream using a std::string (or std::wstring) and having problems getting this to work without a messy conversion.  std::string path = ".../file.txt";  ofstream output;  output.open(path);   Ideally I don't want to have to convert this by hand or involve c-style char pointers if there's a nicer way of doing this?
103238
I want to work with unsigned 8-bit variables in C++.  Either unsigned char or uint8_t do the trick as far as the arithmetic is concerned (which is expected, since AFAIK uint8_t is just an alias for unsigned char, or so the debugger presents it.  The problem is that if I print out the variables using ostream in C++ it treats it as char.  If I have:  unsigned char a = 0; unsigned char b = 0xff; cout &lt;&lt; "a is " &lt;&lt; hex &lt;&lt; a &lt;&lt;"; b is " &lt;&lt; hex &lt;&lt; b &lt;&lt; endl;   then the output is:  a is ^@; b is 377   instead of   a is 0; b is ff   I tried using uint8_t, but as I mentioned before, that's typedef'ed to unsigned char, so it does the same.  How can I print my variables correctly?  Edit: I do this in many places throughout my code.  Is there any way I can do this without casting to int each time I want to print?
21989
Very simply put:  I have a class that consists mostly of static public members, so I can group similar functions together that still have to be called from other classes/functions.  Anyway, I have defined two static unsigned char variables in my class public scope, when I try to modify these values in the same class' constructor, I am getting an "unresolved external symbol" error at compilation.  class test  { public:     static unsigned char X;     static unsigned char Y;      ...      test(); };  test::test()  {     X = 1;     Y = 2; }   I'm new to C++ so go easy on me. Why can't I do this?
94457
What is the best practice of Unicode processing in C++?
63138
I have a string that I would like to tokenize. But the C strtok() function requires my string to be a char*. How can I do this simply?  I tried:  token = strtok(str.c_str(), " ");    which fails because it turns it into a const char*, not a char*
28257
On AWS Ubuntu Server, I wrote C++ Hello, World program:  #include &lt;iostream&gt; using namespace std;  int main(){         cout&lt;&lt;"Hello, World!"&lt;&lt;endl;         return 0; }   And compiled it:  ubuntu@ip-xxxxx:~/dev/c++$ g++ -c ./test.cc -o out ubuntu@ip-xxxxx:~/dev/c++$ chmod a+x out ubuntu@ip-xxxxx:~/dev/c++$ ./out -bash: ./out: cannot execute binary file: Exec format error ubuntu@ip-xxxxx:~/dev/c++$ file ./out ./out: ELF 64-bit LSB  relocatable, x86-64, version 1 (SYSV), not stripped ubuntu@ip-xxxxx:~/dev/c++$ uname -a Linux ip-xxxxx 3.13.0-48-generic #80-Ubuntu SMP Thu Mar 12 11:16:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux ubuntu@ip-xxxxx:~/dev/c++$ gcc --version gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4   It seems that architecture x86-64 is the same each other. What is the problem here? Do I have to add more C++ flags?
43859
What are all the common undefined behaviours that a C++ programmer should know about?  Say, like:  a[i] = i++;
17772
Very basic question: how do I write a short literal in C++?  I know the following:   2 is an int 2U is an unsigned int 2L is a long 2LL is a long long 2.0f is a float 2.0 is a double '\2' is a char.   But how would I write a short literal?  I tried 2S but that gives a compiler warning.
3559
In the C and C++ programming languages, what is the difference between using angle brackets and using quotes in an include statement, as follows?   #include &lt;filename&gt;  #include "filename"
113560
I expected A::~A() to be called in this program, but it isn't:  #include &lt;iostream&gt;  struct A {   ~A() { std::cout &lt;&lt; "~A()" &lt;&lt; std::endl; } };  void f() {   A a;   throw "spam"; }  int main() { f(); }   However, if I change last line to   int main() try { f(); } catch (...) { throw; }   then A::~A() is called.  I am compiling with "Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86" from Visual Studio 2005. Command line is cl /EHa my.cpp.  Is compiler right as usual? What does standard say on this matter?