0- terminierter string
-
hallo
wenn ich einen string habe, wie kann ich den denn auf /0 abfragen??char s []="Hallo"; int i=0; while (s[]!=/0) { cout << "test"<<endl; i++; }
-
du meinst '\0'
und zwar mitwhile(s[i++] != '\0'); //oder ganz tricky do { ... } while (*++s);
-
if (s == 0 || *s == 0) { // string ist 0 }
-
hmm oder auch tricky
char array[] = "test\0"; assert(array[strlen(array) + 1] == '\0');
-
so, möchte den string nun in eine liste einlesen, aber irgendwas stimmt mit meinem (*temp) nicht
int main() { struct Buchstabenliste { char buchstabe; Buchstabenliste *next;}; struct buchstabenliste *temp, *anfang; char s []="Hallo"; for (int i=0;s[i]!='\0';i++) { (*temp).buchstabe=s[i]; (*temp).next=new Buchstabenliste; cout << (*temp).buchstabe <<endl; temp=temp->next; }
-
hab gr0ß und kleinbuchstaben nicht unterschieden, aber jetzt hab ich folgendes problem
Run-Time Check Failure #3 - The variable 'temp' is being used without being defined.
-
#include <iostream> struct LetterListItem { char letter; LetterListItem* pNext; LetterListItem() : pNext(NULL), letter(0) {} }; int main() { LetterListItem* begin = new LetterListItem; LetterListItem* tmp = begin; char s[] = "Hallo"; for (unsigned int n = 0; s[n]; ++n) { tmp->letter = s[n]; tmp->next = new LetterListItem; tmp = tmp->next; } for (LetterListItem* cur = begin; cur; cur = cur->next) std::cout << cur->letter; std::cout << std::endl; LetterListItem* tmp = begin; for (LetterListItem* next = tmp->next; next; tmp = next, next = tmp->next) delete tmp; }so in etwa ... kann sein das was beim aufräumen falsch ist ... habe es net kontrolliert.
-
Da fehlt ein new für das erste Objekt auf das *temp zeigen soll. Ansonsten kann aus struct buchstabenliste *temp, *anfang; einfach buchstabenliste *temp, *anfang werden. Und den Speicher am Ende freigeben,
Edit: zu spät!

@(D)Evil: char c[] = "Hallo"; genügt. Die 0 wird automatisch angehängt.
-
stimmt ... Freigabe vergessen.
-
Jo, und operator-> statt operator.!

-
David_pb schrieb:
@(D)Evil: char c[] = "Hallo"; genügt. Die 0 wird automatisch angehängt.
hehe, dann erübrigt sich ja auch das array[strlen(array)]
