Veröffentlicht 17. Januar 200718 j hallo, ich habe eine schleife in der in jedem durchlauf ein string einen anderen inhalt und eine andere länge hat. die länge ist auch in einer variable. nun möchte ich ein array das so defieniert ist. char begriff[x][länge des strings] x ist immer die nummer des schleifendurchlaufs(1,2,3,...), d.h. es muss irgendwie über malloc oder realloc das mit der länge des strings gemacht werden? wie geht das hab schon ein wenig rumprobiert bin aber auf kein ergebnis gekommen... :-( und dann muss noch in der schleife der begriff in das array geschriebn werden!! kann mir vll jemand helfen?
17. Januar 200718 j du meinst quasi das x bzw. die maximale anzahl an schleifendurchläufen? wenn ja, die ist fest, da gibt es eine maximalgröße!
17. Januar 200718 j Dann leg ein Array von char-Zeigern in der passenden Größe an: char* begriff[max_anzahl]; // in der Schleife begriff[x] = malloc( länge des strings + 1 ); strcpy( begriff[x], stringinhalt );[/code]
17. Januar 200718 j ja genau so meinte ichs!! ich war mir unklar über die verwendung der "malloc"-funktion...und jetz gerade nach einem überdenken bin ich auch darauf gekommen das ich beim belegen nur die "max_anzahl " brauch...ich hab wieder einmal zu kompliziert gedacht! aber danke für die bemühung!
17. Januar 200718 j jetz hab ich aber noch ein kleines problem und zwar bekomm ich den fehler argument #2 is incompatible with prototype: prototype: pointer to const char argument: pointer to unsigned char der fehler tritt bei strcpy( begriff[x], stringinhalt ); auf! wie beheb ich ihn?
17. Januar 200718 j nach ein wenig probieren hab ich es folgendermaßen gelöst... statt: strcpy( begriff[x], stringinhalt ); hab ich : sprintf( begriff[x],"%s", stringinhalt ); verwendet... so kommt dieser fehler nicht mehr und es wird wunderbar in das array geschriebne!! :marine
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.