Problem mit char
-
Hi,
verstehe hier grad nichts mehr, entweder habe ich nen Brett vorm Kopf oder ich weiß auch nicht. Helft mir mal bitte.
Warum führt dieser Ausdruck zu einem Fehler?
[cpp] char bank = Sparkasse; [/cpp]
Danke!
-
timkon schrieb:
Hi,
verstehe hier grad nichts mehr, entweder habe ich nen Brett vorm Kopf oder ich weiß auch nicht. Helft mir mal bitte.
Warum führt dieser Ausdruck zu einem Fehler?
[cpp] char bank = Sparkasse; [/cpp]
Danke!
also so würde es gehen..
#include<iostream> int main() { char bank = 'a'; std::cout<<bank; std::cin.get(); }
ABER mit "einfachen Anführungszeichen" und nicht doppelten,sondern denen da >> ''
Mfg. Martin
-
ICh denke, man kann in eine char Variable 256 Zeichen speichern. Wieso kann ich jetzt nur ein Zeichen nehmen?
-
timkon schrieb:
ICh denke, man kann in eine char Variable 256 Zeichen speichern. Wieso kann ich jetzt nur ein Zeichen nehmen?
Naja schau mal bei google unter "Sprachtools" und gib als Englisches Wort "Char" ein.Hat nichts damit zu tun,aber versuch es mal bitte.
Zum Thema zurück:
Also ein Zeichen habe ich bereits immer eingegeben,aber mit wchar_t kannst du mehr speichern,ich glaube 256 Zeichen,bin mir aber nicht sicher,also sorry,falls ich was falsch sage..
-
char -> character -> Buchstabe.
D.h. du kannst in ein char nur einen Buchstaben schreiben. Die 256 kommt daher, dass ein char ein Byte groß ist. Ein Byte hat bekanntlich 8 Bit und ein Bit kann entweder 1 oder 0 sein. Daraus folgt wiederum, dass in ein Byte maximal die Zahl 255 rein passt.wchar_t ist für Unicode wichtig und hat 2 Byte, verhält sich aber im Prinzip genauso wie ein char.
Wenn du einen string haben willst, musst du es so schreiben:
char bank[20] = {"Sparkasse"};
Ich kann nicht so toll erklären, also lieber noch mal nachfragen.
Mfg,
kynarion
-
Achja, danke! Hatte das mit dem char bank[20] total vergessen. Habe das in einem anderen Programm auch so gelöst.
Hmm... mal wieder dumm von mir!
-
[edit] Na gut, entweder du denkst zu schnell, oder ich tipp' zu langsam
[/edit]
In C ist eine Zeichenkette einfach eine Anneinanderreihung von Buchstaben. Die Buchstaben werden meist in ASCII (American Standard Code for Information Interchange). Der ASCII Code ist eine Zuordnung von 128 Ganzzahligen Werten zu den entsprechenden Zeichen (zB: 65 => 'A') und passt somit wunderbar in eine Byte. Der entsprechende Datentyp in C ist dafür char. Somit kann man in einem
char ch; // einen Buchstaben ch = 'A';
ablegen.
Möchte man nun eine Zeichenkette speichern, so braucht man ein Feld (oA: Array) aus chars.
char name[ 20 ];
bietet nun Platz für 20 Buchstaben. Da jedoch in C Zeichenketten immer 0- (NULL-) Terminiert sind, ist doch nur für 19 + '\0' Platz. Möchte man eine Konstante Zeichenkette haben, so nimmt man:
char bank[ ] = "Sparkasse";
wobei sich die Größe des Arrays bank aus dem Initialisierungswert "Sparkasse" ergibt und nicht unbedingt eingetragen werden muss.
Greetz, Swordfish