Chris: C Speicherproblem ...

Beitrag lesen

Hi,

danke für deine Antwort, so schaut das Ganze eigentlich aus:

while ((row = mysql_fetch_row (res)) != NULL)
   {
       str = "SELECT * FROM zonen WHERE DID=";

size=0;
       size+=strlen(str);
       size+=strlen(row[0]);

query =(char *) malloc(size + 11);

strcat(query, str);
       strcat(query, row[0]);

printf("Hier der Query: %s\n",query);

free(query);
   }

sollte doch eigentlich ok sein, oder ?

Ich ermittle den benötigten Speicherplatz in der Variable size, reserviere dann den Platz für query mit malloc, dann kopiere ich den Inhalt von str und row[0] in die Variable Query ;-)

Bei der ersten Ausgabe des Query schaut des so aus:

Hier der Query: 4{@4{@SELECT * FROM zonen WHERE DID=1

Nach der ersten läuft alles Prima:

Hier der Query: SELECT * FROM zonen WHERE DID=2

Hab ich da was absolut nicht verstanden ? ;-(

Viele Grüße ...

Chris