summaryrefslogtreecommitdiff
path: root/cpp_unicode_test
diff options
context:
space:
mode:
Diffstat (limited to 'cpp_unicode_test')
-rw-r--r--cpp_unicode_test/stdstring_unicode.cpp33
-rw-r--r--cpp_unicode_test/unicodechars.txt1
-rwxr-xr-xcpp_unicode_test/writemisc.pl25
3 files changed, 59 insertions, 0 deletions
diff --git a/cpp_unicode_test/stdstring_unicode.cpp b/cpp_unicode_test/stdstring_unicode.cpp
new file mode 100644
index 0000000..d60679c
--- /dev/null
+++ b/cpp_unicode_test/stdstring_unicode.cpp
@@ -0,0 +1,33 @@
+#include <cstdlib>
+#include <cstdio>
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <unistd.h>
+
+int main( int argc, char *args[] ){
+ unsigned char *fcontents = NULL;
+ std::fstream *charfile = new std::fstream( reinterpret_cast<const char*>("./unicodechars.txt"), std::ios::in );
+ if ( charfile->fail() ){
+ std::cerr << "Failed to open file\n";
+ exit( EXIT_FAILURE );
+ }
+ charfile->seekg( 0, std::ios::end );
+ ssize_t fsize = static_cast<ssize_t>(charfile->tellg());
+ charfile->seekg( 0, std::ios::beg );
+ fcontents = static_cast<unsigned char*>(calloc(fsize, sizeof(unsigned char)));
+ if ( fcontents == NULL ){
+ std::cerr << "calloc failed\n";
+ exit( EXIT_FAILURE );
+ }
+ charfile->read( reinterpret_cast<char*>(fcontents), fsize );
+ charfile->close();
+ delete charfile;
+ fsize = 0;
+ std::string *uchars = new std::string( "" );
+ uchars->assign( reinterpret_cast<char*>(fcontents) );
+ free( fcontents );
+ std::cout << uchars->c_str() << "\n";
+ delete uchars;
+ exit( EXIT_SUCCESS );
+}
diff --git a/cpp_unicode_test/unicodechars.txt b/cpp_unicode_test/unicodechars.txt
new file mode 100644
index 0000000..1012c1d
--- /dev/null
+++ b/cpp_unicode_test/unicodechars.txt
@@ -0,0 +1 @@
+☀☁☂☃☄★☆☇☈☉☊☋☌☍☎☏☐☑☒☓☔☕☖☗☘☙☚☛☜☝☞☟☠☡☢☣☤☥☦☧☨☩☪☫☬☭☮☯☰☱☲☳☴☵☶☷☸☹☺☻☼☽☾☿♀♁♂♃♄♅♆♇♈♉♊♋♌♍♎♏♐♑♒♓♔♕♖♗♘♙♚♛♜♝♞♟♠♡♢♣♤♥♦♧♨♩♪♫♬♭♮♯♰♱♲♳♴♵♶♷♸♹♺♻♼♽♾♿⚀⚁⚂⚃⚄⚅⚆⚇⚈⚉⚊⚋⚌⚍⚎⚏⚐⚑⚒⚓⚔⚕⚖⚗⚘⚙⚚⚛⚜⚝⚞⚟⚠⚡⚢⚣⚤⚥⚦⚧⚨⚩⚪⚫⚬⚭⚮⚯⚰⚱⚲⚳⚴⚵⚶⚷⚸⚹⚺⚻⚼⚽⚾⚿⛀⛁⛂⛃⛄⛅⛆⛇⛈⛉⛊⛋⛌⛍⛎⛏⛐⛑⛒⛓⛔⛕⛖⛗⛘⛙⛚⛛⛜⛝⛞⛟⛠⛡⛢⛣⛤⛥⛦⛧⛨⛩⛪⛫⛬⛭⛮⛯⛰⛱⛲⛳⛴⛵⛶⛷⛸⛹⛺⛻⛼⛽⛾
diff --git a/cpp_unicode_test/writemisc.pl b/cpp_unicode_test/writemisc.pl
new file mode 100755
index 0000000..43ba4ec
--- /dev/null
+++ b/cpp_unicode_test/writemisc.pl
@@ -0,0 +1,25 @@
+#!/usr/bin/perl
+use IO::File;
+
+my $charcode = 0x2600;
+
+my $out_string = "";
+
+for ( ; $charcode < 0x26FF; $charcode++ ){
+ $out_string .= chr( $charcode );
+}
+
+$out_string .= "\n";
+
+undef $charcode;
+
+open( my $ofile, ">:encoding(UTF-8)", "unicodechars.txt" ) or die "Failed to open file for writing";;
+
+print( $ofile $out_string );
+
+undef $ofile;
+undef $out_string;
+
+print( "Finished writing to file\n" );
+
+exit( 0 );