2 Fragen wchar_t und INT_MIN-fehler
-
Hallo, zusammen
Ich bin neu hier im Forum (habe mich erst vor ein paar Minuten angemeldet) und es sieht anständig und gross aus.
Ich habe vor kurzem (genau gesagt seit gestern abend), angefangen C++ zu lernen mit dem Buch von J. Wolf "C++ von A bis Z". Nun stellen sich schon die ersten Fragen und Probleme (wen wundert es ^^ ).wchar_t
wenn ich folgendes eintippe
// char2.cpp #include <iostream> using namespace std; int main(void) { wchar_t omega = L'65'; char ch2 = 'B'; char ch3 = '\t'; char ch4 = '\n'; cout << omega << ch3 << ch2 << ch4 << omega << ch2 << '\n'; system("Pause"); return 0; }so kommt für mich bei wchar_t omega = L'65' immer eine Zahl als Output im DOS-Fenster. Es spielt dabei keine Rolle, was ich eintippe: 65 oder akdiekekkee.
Das zweite Problem wäre bei diesem kleinen Programm (bin nicht mal sicher, ob man es so nennen darf):
//int1.cpp #include <iostream> #include <climits> using namespace std; int main(void) { int wert1 = 10; int wert2 = 20; cout << "wert1:" << wert1 << '\n'; cout << "wert2:" << wert2 << '\n'; cout << "int - Zahlenbereich von" << INT_MIN "bis" << INT_MAX << '\n'; (das ist die Zeile 12, damit ihr nicht zählen müsst) return 0; }Da kommt immer der Fehler: Zeile 12 expected `;' before string constant
Ich danke für Eure Hilfe
neophiler
P.S. Sagt, wenn bestimmte Darstellungsweisen hier im Forum erwünscht sind (Quelldatei e.t.c.)
EDIT: das 2. Problem mit INT wurde gelöst. Wie ich gemerkt habe fehlte ein <<
Mod-Edit: Ich bin mal so frei, die Quelltexte vernünftig zu formatieren - beim nächsten Mal darfst du das selber machen
-
neophiler schrieb:
Hallo, zusammen
Ich bin neu hier im Forum (habe mich erst vor ein paar Minuten angemeldet) und es sieht anständig und gross aus.
Ich habe vor kurzem (genau gesagt seit gestern abend), angefangen C++ zu lernen mit dem Buch von J. Wolf "C++ von A bis Z". Nun stellen sich schon die ersten Fragen und Probleme (wen wundert es ^^ ).wchar_t
wenn ich folgendes eintippe
// char2.cpp
#include <iostream>
using namespace std;int main(void) {
wchar_t omega = L'65';
char ch2 = 'B';
char ch3 = '\t';
char ch4 = '\n';
cout << omega << ch3 << ch2 << ch4 << omega << ch2 << '\n';
system("Pause");
return 0;
}so kommt für mich bei wchar_t omega = L'65' immer eine Zahl als Output im DOS-Fenster. Es spielt dabei keine Rolle, was ich eintippe: 65 oder akdiekekkee.
cout kann nur char-Daten als Zeichen ausgeben - wchar_t wird in einen int umgewandelt und du erhältst den zugehörigen Zeichencode (die wchar_t-Variante von cout nennt sich 'wcout').
Das zweite Problem wäre bei diesem kleinen Programm (bin nicht mal sicher, ob man es so nennen darf):
//int1.cpp
#include <iostream>
#include <climits>
using namespace std;int main(void) {
int wert1 = 10;
int wert2 = 20;
cout << "wert1:" << wert1 << '\n';
cout << "wert2:" << wert2 << '\n';
cout << "int - Zahlenbereich von"
<< INT_MIN "bis" << INT_MAX << '\n'; (das ist die Zeile 12, damit ihr nicht zählen müsst)
return 0;
}Da kommt immer der Fehler: Zeile 12 expected `;' before string constant
Schau dir mal an, was zwischen dem INT_MIN und dem "bis" steht - dort fehlt ein << dazwischen.
P.S. Sagt, wenn bestimmte Darstellungsweisen hier im Forum erwünscht sind (Quelldatei e.t.c.)
Ja - sfds
-
Danke für die Hilfe ^^ Jetzt kann ich weitermachen. Und danke, dass du mir Syntaxcoloring gezeigt hast
Grüsse
neophiler