Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » warum kann ich keine zwei "ü"s machen?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
13.01.2007, 18:43 Uhr
nminh96



Hallo, warum kann ich keine zwei "ü"s machen? hier mal der/das error:
http://img2.myimg.de/error7f3.jpg
also ich hab vorher immer nur ue benutzt, dann hab ich gelesen, dass man die trotzdem machen kann, die sonderzeichen. dann hab ich alles geändert und nur eine stelle ("...Ueben!...")vergessen. dann hab ich das geändert und es hat nicht geklappt, warum?
--
www.minhhoang.de.vu - besuch doch mal meine homepage

Dieser Post wurde am 13.01.2007 um 18:45 Uhr von nminh96 editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.01.2007, 19:19 Uhr
Kest
saint


Hi!

\x81be ist 'ne zu große Zahl. ( b und e sind ja auch Zahlen)

Versuch mal so: "\x81 \bben!";
--
Wenn man einen Hufschlag hört, sollte man >Pferd< denken und nicht >Zebra<.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
13.01.2007, 20:16 Uhr
0xdeadbeef
Gott
(Operator)


Warum schreibst du die Umlaute eigentlich nicht aus?
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
13.01.2007, 22:50 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat von 0xdeadbeef:
Warum schreibst du die Umlaute eigentlich nicht aus?

Da die command-prompt von Windows kein "normales" ANSI-Charset benutzt sondern OEM.

warum machst es nicht "einfach" so:


C++:
cout << "H" << (char)0x84 << "ttest" << ...


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
14.01.2007, 13:35 Uhr
nminh96



aso, danke. aber warum ist b und e auch eine zahl?
bei dem programm, wir nämlich aus einer externen txt-datei eingelsen. und wenn ich die txt-datei im editor schreibe und umlaute einbaue, wird das dann natürlich auch nicht richtig wiedergegeben(kommen nur komische sonderzeichen). und wenn ich in der datei diese \x84 und \x91 und so benutze wird dann wird das garnicht in umlaute verändert sondern wird dann direkt z.b. lärmend=l\84rmand . also es wird einfach so gelassen. muss ich jetzt immer laermend oder so schreiben?
--
www.minhhoang.de.vu - besuch doch mal meine homepage

Dieser Post wurde am 14.01.2007 um 13:46 Uhr von nminh96 editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
14.01.2007, 13:43 Uhr
xXx
Devil


hmm weil es das Hexadezimalsystem ist ... http://de.wikipedia.org/wiki/Hexadezimalsystem
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
14.01.2007, 14:57 Uhr
Kest
saint


Ist vielleicht 'ne dumme Lösung, aber die funktioniert:
1. Lesen
2. Vergleichen
3. Ersetzen

/////////////////////////////////////////////////
//für datei:
//196 = Ä = 0xC4
//214 = Ö = 0xD6
//220 = Ü = 0xDC
//228 = ä = 0xE4
//246 = ö = 0xF6
//252 = ü = 0xFC


//für Konsole:
//154 = Ü = 0x9A
//153 = Ö = 0x99
//148 = ö = 0x94
//142 = Ä = 0x8E
//132 = ä = 0x84
//129 = ü = 0x81
////////////////////////////////////////////////


Beispiel für Lesen:

C++:
#include <iostream>
#include <fstream>

using std::cout;
using std::fstream;
using std::ios;


int main()
{
    fstream datei("datei.txt", ios::in);
    
    char zeich;
    while(datei.get(zeich))
                           switch(zeich){
                                              case 0xc4:
                                                        cout.put(0x8e);
                                                        break;
                                              case 0xd6:
                                                        cout.put(0x99);
                                                        break;
                                              case 0xdc:
                                                        cout.put(0x9a);
                                                        break;
                                              case 0xe4:
                                                        cout.put(0x84);
                                                        break;
                                              case 0xf6:
                                                        cout.put(0x94);
                                                        break;
                                              case 0xfc:
                                                        cout.put(0x81);
                                                        break;
                                              default:
                                                        cout.put(zeich);
                                                        }
    
    datei.close();
    
    return 0;
}




für Schreiben:

C++:
#include <fstream>
#include <iostream>
#include <string>

using std::fstream;
using std::ios;
using std::string;


int main()
{
    string my_str="\x9A kest \x99 \x94 \x8E \x84 \x81";
    fstream datei("asdfghlk.txt", ios::out);
    
    for(int i=0; i<my_str.length(); i++)
                                    switch(my_str[i]){
                                              case 0x8e:
                                                        datei.put(0xc4);
                                                        break;
                                              case 0x99:
                                                        datei.put(0xd6);
                                                        break;
                                              case 0x9a:
                                                        datei.put(0xdc);
                                                        break;
                                              case 0x84:
                                                        datei.put(0xe4);
                                                        break;
                                              case 0x94:
                                                        datei.put(0xf6);
                                                        break;
                                              case 0x81:
                                                        datei.put(0xfc);
                                                        break;
                                              default:
                                                        datei.put(my_str[i]);
                                                        }
    
    datei.close();
    
    return 0;
}


--
Wenn man einen Hufschlag hört, sollte man >Pferd< denken und nicht >Zebra<.

Dieser Post wurde am 14.01.2007 um 14:57 Uhr von Kest editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
14.01.2007, 20:42 Uhr
Pler
Einer von Vielen
(Operator)



Zitat von FloSoft:
Da die command-prompt von Windows kein "normales" ANSI-Charset benutzt sondern OEM.
Ja, das hat mich schon immer gestört. Kann man das irgendwo umstellen?
Vielleicht im VS? Entweder der dann startenden Eingabeaufforderung, oder direkt an den Projekteinstellungen was ändern?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
14.01.2007, 21:46 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Also - wenn man Unicode benutzt, klappts auch mit den Umlauten - dafür würde ich dann aber mind vs2003 benutzen, das 6er kanns imho nicht richtig oder ist mega umständlich da dann alles zum laufen zu kriegen.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: