Click here to Skip to main content
13,045,379 members (116,972 online)
Rate this:
Please Sign up or sign in to vote.
See more:
Hi all,
I wanted to write file in c++
i have some data in unsigned char

this is my code:

typedef unsigned char UCHAR;

for (int i=0; i < 4; i++)
<pre lang="xml">UCHAR ucMntFlat[4][1024];
      char filename[64];
      sprintf( filename, &quot;temp%d.txt&quot;, i);
       ofstream out(filename);
      out.write((char *)ucMntFlat,sizeof(ucMntFlat));

i m getting some special characters in file for ex:
àôôô ©+ÿ ú ú   LéPé ÿè˜AB § ë/ÿV˜‰Yœ§ 	„ 	„ÿÒÿa ò;;;;;;K¥&FZ".…W'é…P«¦…,(ÅNœÇ†DÃE_'­…+ÈE=…+F…8€Å+(‡
Gž&JW+(I>:I ˆI'‰J3ÃJ)ŠPv	P$'‰C’z	P0å
c+®U¡êÎL˜ _–©Y¬h
Ç‘ÈçÑi©‘F±ä‘].hRŸˆÑK•ZÒ'/åÕZŸ/•gšäYœ'u#`¤0ÚR½™+±[˜¨u&[]Vœá"¥-Xªíj'Ömg©s6 &3@MZgtŽ›¨µÂÏÜéö*7DQ^kx…’Ÿ¬¹ÆÓàíú!.;HUbo|‰–£°½Ê×äñþ%2?LYfs€š§´ÁÎÛèõ)6CP]jw„‘ž«¸ÅÒßìù -:GTan{ˆ•¢¯¼ÉÖãðý

can u plz tell me how can i save this data in file..
plz help..
god bless u all.. :)
Posted 5-May-13 23:02pm
Jochen Arndt 6-May-13 5:11am
What did you expect?
You are writing data from ucMntFlat which isn't initialized anywhere. So it contains garbage.

Also please edit your question. The code actually posted should not compile (the local variable ucMntFlat is defined 4 times inside a loop but accessed later outside the loop).

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

if your buffer contains binary data, you have two options:
  1. save it, as it stands, in a binary file (basically what you already did)
  2. save the hexadecimal representation of the binary data in a text file (in order to have a human-readable file)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy | Mobile
Web02 | 2.8.170713.1 | Last Updated 6 May 2013
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100