JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

return gibt nur Sonderzeichen zurück
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
C++Builder
Senior JLI'ler



Anmeldedatum: 04.10.2003
Beiträge: 235

Medaillen: Keine

BeitragVerfasst am: 09.01.2004, 21:18    Titel: Antworten mit Zitat

@HotAcid

wenn ich den string dynamisch erzeuge hab kann ich ihn ja nicht wieder freigeben, sonst habe ich ja wieder das gleiche Problem.

Und das Problem hab ich eigentlich mit dieser Funktion:
Code:

char *zerwurstle(char *String)
{

   mstring string(String);

   srand(time(NULL));

   for(int i=0;i<string.len()*100;i++)
   {

      string.exch((int)rand()%string.len(),(int)rand%string.len());
   }
   
   return string.get();
}


die soll die char-Zeichen des String vertauschen das sie durcheinander sind.
exch(int oldPos,int newPos) setzt das char-Zeichen von oldPos auf newPos und andersrum.

@Lord

Question Question
hab ich doch schon der String wird doch in string gespeichert. oder wie meinst du das??
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 38
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 09.01.2004, 21:24    Titel: Antworten mit Zitat

Du gibst doch einen Zeiger auf die lokale Variable der Memberfunktion zurück. Nach dem Verlassen der Funktion existiert die Variable nicht mehr und du hast falsche Werte.
Wenn du aber eine Variable hast, die das gesamte Programm lang existiert(z.B. Membervariable), zeigt der zuzückgegebene Zeiger immer auf diese Variable und nicht auf eine zerstörte Variable bzw. ungültigen Speicher Wink
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
HotAcid
Super JLI'ler


Alter: 44
Anmeldedatum: 04.08.2002
Beiträge: 372
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 09.01.2004, 22:59    Titel: Antworten mit Zitat

dann mach doch:

Code:

char* besseresZerwursteln(char* string)
{
    mstring String(string);
   
    zerwurstle(String)

return String.get();

}

char* zerwurstle(mstring& mystring)
{
   srand(time(NULL));
 
   for(int i=0;i<mystring.len()*100;i++)
   {

      string.exch((int)rand()%mystring.len(),(int)rand%mystring.len());
   }
}


Wenn das Erzeugen von mstring in der Funktion nicht klappt, dann erzeugst du halt den mstring vorher und übergibst einfach eine Referenz Wink

viele Grüße
Felix
_________________
StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum