[C++] cout en (unsigned) chars

Pagina: 1
Acties:

  • Rowwan
  • Registratie: November 2000
  • Laatst online: 18:33
Een eenvoudig vraagje (denk ik), maar ik kan het antwoord nergens vinden:

code:
1
2
unsigned char a = 0x65;
 cout << "Waarde: " << a <<endl;


Wat ik wil is:
Waarde: 0x65

Wat ik krijg is:
Waarde: e

Hoe los ik dit op??

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
C++:
1
cout << setiosflags(ios::showbase) << "Waarde: " << ios::hex << a << endl;

  • Rowwan
  • Registratie: November 2000
  • Laatst online: 18:33
Mmmm.....
Dan krijg ik:
Waarde: 64e

Moet ik nu +1 doen?? Waarom??

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
Hum, beetje wazig. Mijn C++ boek vindt dit goed. MS VC wil het weer anders:
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Example
// ios_showbase.cpp
// compile with: /EHsc
#include <iostream>

int main( ) 
{
   using namespace std;
   int j = 100;

   cout << showbase << j << endl;   // dec is default
   cout << hex << j << showbase << endl;
   cout << oct << j << showbase << endl;

   cout << dec << j << noshowbase << endl;
   cout << hex << j << noshowbase << endl;
   cout << oct << j << noshowbase << endl;
}
Output
100
0x64
0144
100
64
144


In mijn boek staat hetzelfde type voorbeeld als:
C++:
1
2
3
4
5
6
7
8
9
#include <iostream.h>
#include <iomanip.h>

int main()
{
int x = 100;
cout << setiosflags(ios::showbase) << "Waarde: " << x << '\n' << oct << x << '\n'<< hex << x << endl;
return 0;
}


Weer een ander boek wil het als:
C++:
1
2
cout.setf( ios::showbase | ios::hex );
cout << "Waarde: " << x << endl;

Niet echt uniform allemaal geloof ik :S

[ Voor 29% gewijzigd door SWfreak op 17-07-2003 09:44 ]


  • Rowwan
  • Registratie: November 2000
  • Laatst online: 18:33
Je hebt helemaal gelijk... Mijn boek vind dat ook best. Het enige probleem is dat het hier over integers gaat, en niet over chars....

Maar toch bedankt voor de tip! Ik doe nu het volgende:
code:
1
cout << "Waarde: " << hex << (int)a <<endl;


Dit werkt dus...

[ Voor 10% gewijzigd door Rowwan op 17-07-2003 09:44 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

Een char is een teken. Als je de waarde ervan wilt hebben dan zul je 'm idd moeten casten naar een int. Hetzelfde geldt voor wchar_t

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

swfreak welk boek gebruik jij?

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
Verwijderd schreef op 17 juli 2003 @ 12:18:
swfreak welk boek gebruik jij?
Ik heb hier C++ How to Program van Deitel & Deitel en nog een ander boek (maar das een baggerding).

Verwijderd

ok, thx ik heb java van deitel en deitel, dat boek is dus goed.
Pagina: 1