Vinzenz: C Speicherproblem ...

Beitrag lesen

Hallo Chris,

Aber beim ersten Durchlauf meiner Whileschleife hat die Variable den Inhalt "4{@4{@".

Das ist Zufall.

Beim 2ten durchlauf ist die Variable dann so wie sie eigentlich sein soll, ich kann das absolut nicht verstehen ;-(

Das ist ebenfalls Zufall.

char *str,*query;

Warum nicht

char query[11];

while ((row = mysql_fetch_row (res)) != NULL)
   {
       query =(char *) malloc(11);

Du allozierst dynamisch Speicher. Es könnte fehlschlagen. Prüfst Du den Erfolg der Anforderung?

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

Es ist Zufall, was in dem Speicher steht. Bei der Verwendung von

calloc

würden Nullen drin stehen. Mir ist allerdings schleierhaft, warum Du dynamisch Speicher anforderst. Hier ist meiner Meinung nach ein statischer Puffer sinnvoller. Die Doku zu malloc und calloc findest Du bei einem Linux-System mit

man malloc

Freundliche Grüsse,

Vinzenz