Rain Geschrieben 4. Februar 2003 Geschrieben 4. Februar 2003 Hallo Habe zwei simple fragen: 1.) Ich habe von der Klasse string( string.h ) ein Array erzeugt. Ist es nun möglich dieses Array in ein char Array umzuwandeln. Welche Möglichkeiten gibt es da? 2.) Wie kann man den inhalt eines String Arrays ausgeben? Besten Dank im Vorraus Rain Zitieren
Net-srac Geschrieben 4. Februar 2003 Geschrieben 4. Februar 2003 Originally posted by Rain Hallo Habe zwei simple fragen: 2.) Wie kann man den inhalt eines String Arrays ausgeben? Besten Dank im Vorraus Rain Denke mal das du die STL benutzt. probier mal cout << Stringname[index] << endl; Zitieren
Rain Geschrieben 4. Februar 2003 Autor Geschrieben 4. Februar 2003 cout funkt nicht, auch printf() und puts() nicht. Ich möchte das String Array in ein char* Array umwandeln. Besten Dank Rain Zitieren
Klotzkopp Geschrieben 4. Februar 2003 Geschrieben 4. Februar 2003 Originally posted by Rain cout funkt nicht,Klar funktioniert das, und wenn du so nett wärest, die Fehlermeldung zu posten, könnten wir auch rausfinden, warum es bei dir nicht geht. Ich möchte das String Array in ein char* Array umwandeln.Was denn nun? Oben war es noch ein char-Array. Das ist ein ziemlicher Unterschied. Zitieren
Freak4life Geschrieben 4. Februar 2003 Geschrieben 4. Februar 2003 Originally posted by Rain Ist es nun möglich dieses Array in ein char Array umzuwandeln. Welche Möglichkeiten gibt es da? @Klotzkopp: Er wollte von Anfang an in ein Char Array wandeln. Da hat sich nichts getan... Zitieren
Klotzkopp Geschrieben 4. Februar 2003 Geschrieben 4. Februar 2003 Originally posted by Freak4life @Klotzkopp: Er wollte von Anfang an in ein Char Array wandeln. Da hat sich nichts getan... In seinem letzten Beitrag sprach Rain von einem Array von char*. Das würde auch mehr Sinn machen, weil ein char-Array nur einen einzigen String aufnehmen kann, nicht mehrere. Zitieren
Crush Geschrieben 5. Februar 2003 Geschrieben 5. Februar 2003 @Rain Ein Auszug aus Deinem Sourcecode wäre sehr hilfreich bei der Fehlersuche und bei der Klärung der Frage ob es sich um ein char-Array oder char*-Array handelt. Zitieren
Rain Geschrieben 5. Februar 2003 Autor Geschrieben 5. Februar 2003 Danke für eure Bemühungen. Hab das ganze schon gelöst. Ich wandle jetzt ein string array in ein char* array. Ich hab mich wohl schlecht ausgedrück! So hab ich das gelöst string st = "text"; char* stch = (char*) st.c_str(); Bye Rain Zitieren
Klotzkopp Geschrieben 5. Februar 2003 Geschrieben 5. Februar 2003 Originally posted by Rain Ich wandle jetzt ein string array in ein char* array. Ich hab mich wohl schlecht ausgedrück! So hab ich das gelöst string st = "text"; char* stch = (char*) st.c_str(); Das ist aber nur ein einzelner String, kein Array. Außerdem ist das, was du da machst, möglicherweise gefährlich. Der Zeiger, den c_str zurückliefert, ist nur solange gültig, wie der String nicht verändert oder zerstört wird. Du darfst auch auf keinen Fall versuchen, den String über den Zeiger zu verändern. Der Zeiger ist ursprünglich const. Das hast du durch den Cast zwar formal umgangen, aber verändernde Zugriffe über diesen Zeiger können dir trotzdem noch um die Ohren fliegen. Generell gilt, dass bei einem Const-Cast der Programmierer ganz genau wissen sollte, was er tut. Zitieren
SgtBadAzz Geschrieben 6. Februar 2003 Geschrieben 6. Februar 2003 Originally posted by Rain Danke für eure Bemühungen. Hab das ganze schon gelöst. Ich wandle jetzt ein string array in ein char* array. Ich hab mich wohl schlecht ausgedrück! So hab ich das gelöst string st = "text"; char* stch = (char*) st.c_str(); Bye Rain Besser waere: string st = "test"; char* stch = (char*) st.c_str(); int nLength = strlen(stch); nLength ++; char* pstrNewString = new char[nLength]; strcpy( pstrNewString , stch ); Dann haste eine Kopie und keine Probleme wenn st veraendert wird und moeglicherweise ein realloc kommt. Frank Zitieren
Rain Geschrieben 10. Februar 2003 Autor Geschrieben 10. Februar 2003 Okay ihr habt mich überzeugt, werd das nochmal durchdenken! Besten Dank für eure posts Rain Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.