| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: C++ Array Zuweisung im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Code: char satz[30] = "Hallo Welt"; Wieso geht das Problemlos ? Also wenn man dem Array gleich am Anfang ...
![]() |
| | #1 (permalink) |
| Registriert seit: 02.12.07 ![]() Likes: 0 | Anzeige Code: char satz[30] = "Hallo Welt"; Code: char satz[30];
satz = "Hallo Welt"; Fehler: Code: incompatible types in assignment of `const char[11]' to `char[30]' Kann es sein das man einem Array nur gleich beim deklarieren einen String zuweisen kann ? MfG |
| | |
| | #2 (permalink) | |
| Registriert seit: 09.02.06 ![]() Likes: 0 | Zitat:
![]() Du kannst den String entweder bei der Deklaration gleich zuweisen (dein Codebsp. 1); später geht das leider nicht mehr so einfach. Dann musst du entweder Zeichen für Zeichen: Code: satz[0] = 'H'; satz[1] = 'a'; satz[2] = 'l'; usw... | |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 02.12.07 ![]() Likes: 0 | Jo genau das habe ich mir auch gedacht ![]() Gut, ich habe nur auf eine Bestätigung gewartet ^^ Danke dir. |
| | |
| | #4 (permalink) |
| Registriert seit: 27.12.07 ![]() Likes: 39 | der punkt ist wenn du es zusammenhängend ins aray schreibst kriegt jedes zeichen einen platzt im array da das array ja aus char variablen besteht die nur EINEN buchstaben aufnehmen können. willst du dir das nicht antun einfach strings nehmen
__________________ You shoot yourself in somebody else's foot.|Dann gabs da noch den Mathematiker der P?=NP in O(1) erklärte. |[A]| = p(·,|[A]|)+1 |
| | |
| | #5 (permalink) |
| Themenstarter Registriert seit: 02.12.07 ![]() Likes: 0 | Jo klar mit Strings hat man dieses Problem nicht aber ich lese gerade das Buch "C++ für Spieleentwickler" und dadrin werden die Strings eher weniger Benutzt. Ich habe auch das Gefühl dass geübte Programmierer eher auf Char Arrays zurückgreifen als auf die String Library , kann das sein oder irre ich mich da ? |
| | |
| | #6 (permalink) |
| Registriert seit: 02.01.07 ![]() Likes: 0 | Die Pointer Arrythmetik (worauf auch dein char-Problem mehr oder minder zurückzuführen ist) ist etwas, für das die Einen c/cpp hassen und die Anderen es lieben. Geübte Programmierer benutzen es lieber, weil man bei denen mehr spielereien machen kann. Man könnte selbst verwaltungsroutinen für Zeichenketten machen etc. Denn: Alles was Strings können, kann man mit char arrays auch machen. Nur nicht so einfach... Da Strings zu string.h gehören und somit in einer fertigen Lib sind, geht das dort nicht (naja, vieleicht schon...). Aber ich benutze auch lieber Strings, weil es sich für kleinere, schnell gecodete Programme sich meiner Meinung nach nicht lohnt, sich mit char arrays rumzuplagen. ^^ |
| | |
| | #7 (permalink) | |
| Registriert seit: 28.01.08 ![]() Likes: 0 | Zitat:
| |
| | |
| | #8 (permalink) |
| Themenstarter Registriert seit: 02.12.07 ![]() Likes: 0 | Hehe ganz meiner Meinung ich bin auch eher für die Strings |
| | |
| | #9 (permalink) |
| Registriert seit: 13.09.05 ![]() Likes: 5 | kann mich dem auch nur anschließen. ich benutzte auch strings, allerdings die c++ libary. wenn man nämlich ein string eingelesen hat, kann man dann anschließend diesen string wie ein array behandeln. beispiel: string x; x = "Hallo" dann ist: x[0]="H" x[1]="a" ....ect.... wenn man aber eine ganze zeile einlesen will, benutzt man (ich) gerne getline(cin, x) (bin mir jetzt beim syntax ned sicher. achso, wenn man die länge der zeichenkette ermitteln will, dann kann man z.B. ne schleife bis "\0" machen. also bis das programm dieses zeichen findet, denn das ist das ende eines strings... "Hallo\0" so wirds eingentlich gespeichert, du siehst aber nur "Hallo". gibt auch andere möglichkeiten (getlenght oder so...) aber wenn man mit getline arbeitet dann funtzt das GLAUBE ich ned so... erm ich hoffe diese relativ schlechte erklärung hat geholfen
__________________ und? |
| | |
| | #10 (permalink) | |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | Zitat:
Nur in wenigen, speziellen Fällen, wenn wirklich Massen an Strings anfallen, können eigene Konzepte wirklich etwas bringen - solange das Programm aber 99% der Zeit entweder auf den User oder Festplatte wartet, ist es imho überflüssig, sich mit char-Arrays und Low-Level Tricks zu versuchen ins eigene Bein zu schießen. Und dann sollte man wiederum erstmal bei den Datenstrukturen anfangen zu optimieren (Stichwort: Suffix/PATRICIA Bäume). PS: es ist zwar spaßig und durchaus lehrreich, die meisten Stringoperationen mal selber im Low-Level umzusetzen (und dabei meine ich nicht C Man muss nur bedenken, dass die Libs i.R gut ausgetestet sind - zumindest um Faktoren mehr, als eigene Lösungen, bei denen man doch irgendann irgendwas übersieht.
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| undefinierte variablen zuweisung | Virus | Code Kitchen | 10 | 13.11.08 14:55 |
| php curl array string zu array parsen | b4ck | (Web-) Design und webbasierte Sprachen | 5 | 12.12.07 17:11 |
| von Textarea in Array | Henni | (Web-) Design und webbasierte Sprachen | 2 | 04.04.07 18:12 |
| C int array[n] zu x int ??? | NeoN | Code Kitchen | 11 | 25.04.04 20:38 |
| PHP -> Assoziatives array??? | simb | (Web-) Design und webbasierte Sprachen | 2 | 17.03.02 22:49 |