test unicode outfile

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Axel Freyn(and any g++ programers/testers):

  Thanks your point out.
  How about test my first program, which I copied from book(c++
cookbook)(chapter 13 section 1, page 467)
in your system, is that really output anything to file(length > 0)?
--------------
//Example 13-1 Hardcoding a Unicode string
#include <iostream>
#include <fstream>

// #include <wfstream>

#include <string>

using namespace std;

int main() {
  
  // Create some strings with Unicode characters
  wstring ws1 = L"Infinity: \u221E";
  wstring ws2 = L"Euro: \x20ac";

  wchar_t w[] = L"Infinity: \u221E";

 // wcout << ws2 << endl << w << endl;

 // using std::wofstream;

  // std::ios::sync_with_stdio(false);
 //  std::locale::global(std::locale("en_US.utf8"));

/*  wchar_t BOM=0xFEFF;
  std::ofstream outFile("unico.dat", std::ios::out | std::ios::binary);
*/
  wofstream out("unicode_txt");
 /*  wofstream m_tempFileListOut;
  m_tempFileListOut.open("unico.txt", std::ios:binary);*/
 /* static wostream *logstream;
  logstream = new wofstream("abc_txt",ios::app); */
  //m_tempFileListOut << ws2 << L'\n' << w << L'\n';
 // out.write( (char *) ws2.c_str(), ws2.length() * sizeof(wchar_t));
/*
const char *name = "en_US.utf8";
 locale loc;
 try{
   loc = locale(name);
   cout << "Generated locale " << loc.name() << endl;
 }catch( exception &e){
   cerr << "Couldn't generate locale " << name << ": " << e.what() <<
endl;
 }
 out.imbue(loc);
*/

   out << ws2 << endl;
 /*outFile.write((char *) &BOM, sizeof(wchar_t));
  outFile.write((char *) ws2.c_str(), ws2.length() * sizeof(wchar_t));
*/
  wcout << ws2 << endl << w << endl;
/*
  FILE *pFile;
  pFile = fopen("myfile_txt", "bw");
  
  fwrite(w, sizeof(wchar_t), wclen(w), pFile)
  fclose(pFile);
*/
}


----------------------------------------------------
if so, would you mind to specify your os(if is linux, which version of
kernel) and gcc/g++ version?  Thansk a lot in advance, Eric

On Thu, 2011-06-30 at 10:21 +0200, Axel Freyn wrote:
> Hi Eric,
> 
> On Wed, Jun 29, 2011 at 11:37:26PM -0700, eric wrote:
> > On Mon, 2011-06-27 at 19:40 -0400, Jeffrey Walton wrote:
> > > On Mon, Jun 27, 2011 at 7:31 PM, Jonathan Wakely <jwakely.gcc@xxxxxxxxx> wrote:
> > > > On 28 June 2011 00:04, eric wrote:
> > > >>
> > > >>> You need to configure gcc with --enable-clocale=gnu and reinstall it.
> > > >>>
> > > >>> That should be the default on GNU/Linux but apparently your system is
> > > >>> missing something necessary to support named locales.
> > > >>
> > > >> so I do
> > > >> ./configure --enable-clocale=gnu
> > > >
> > > > (You obviously didn't read the installation docs, you're not supposed
> > > > to run ./configure in the source directory)
> > > This seems to come up alot.
> > > 
> > > Perhaps ./configure should result in error if cwd is the source
> > > directory. If it does not error, perhaps it should lock up the
> > > keyboard, or shut down the machine to keep folks from moving forward
> > > ;).
> > > 
> > > At minimum, it will probably reduce questions on the list.
> > > 
> > > Jeff
> > 
> > ---------------------------------------------------------------
> > Dear Jeff:
> > 
> >   you ask us to make a different directory to build rather than source
> >   directory but in my system, just at configure, it meet error
> > -----------------------
> > root@eric-laptop:/home/eric/disk# ls
> > Contents-i386  gcc-4.5.2  gcc-build  gmp-5.0.2  mpc-0.9  mpfr-3.0.1
> > root@eric-laptop:/home/eric/disk# cd gcc-build
> > root@eric-laptop:/home/eric/disk/gcc-build# ../gcc-4.5.2/configure
> > --enable-clocale=gnu
> > checking build system type... i686-pc-linux-gnu
> > checking host system type... i686-pc-linux-gnu
> > checking target system type... i686-pc-linux-gnu
> > checking for a BSD-compatible install... /usr/bin/install -c
> > checking whether ln works... yes
> > checking whether ln -s works... yes
> > checking for a sed that does not truncate output... /bin/sed
> > checking for gawk... gawk
> > configure: error: building out of tree but ../gcc-4.5.2 contains
> > host-i686-pc-linux-gnu.
> > Use a pristine source tree when building in a separate tree
> > root@eric-laptop:/home/eric/disk/gcc-build# 
> > --------------------------------------------------------------
> > plz help
> The problem is, that your source tree is no longer "clean" -- as you did
> already some ./configure or make calls in the source tree.
> The easiest would be to remove the source tree and download a new one
> If not, you can try "make distclean" inside the source-tree (that should
> be sufficient, but I think it's not officially supported)
> > actually I still do that configure in my source directory gcc-4.5.2
> > I do
> >   ./configure --enable-clocale=gnu
> >   make bootstrap
> >   make install-no-fixedincludes
> > 
> > still same error of my localetest program
> > --------------------
> > the doc about how to install/build gcc is from the following link
> > ----
> > http://archive.linuxfromscratch.org/lfs-museum/4.1/LFS-BOOK-4.1-HTML/chapter06/gcc.html
> That is the new, up-to-date documentation:
> http://gcc.gnu.org/install/ 
> 
> Axel




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux