Ok. ich habs mir noch mal genauer durchgesehen... ich sollte wirklich gruendlicher schauen
den malloc fuer brand kannst du vergessen, da du ja hier:
nicht die Daten sondern die Adresse uebergibst. Das Problem dabei ist, dass dieser Speicherbereich mit dem Ende der Funktion geloescht wird und daher der Pointer ins nichts geht.
Mir stellt sich allerdings die Frage, ob du nicht einfach auf die Variable "str" verzichten kannst und gleich mit brand arbeiten kannst?
PHP-Code:
char* NewBrand(int n) {
int cons, vow, i;
char* brand;
brand = (char *)malloc(sizeof(char)+1);
i = 0;
while(i < n) {
cons = RandNumber(21);
vow = RandNumber(5);
strncat(brand, &consonants[cons], 1);
i = i + 1;
if(i < n) {
strncat(brand, &vowels[vow], 1);
i = i + 1;
}
}
return brand;
}
hab das aber nicht getestet. Du musst natuerlich die string.h verwenden.
mfg
c.
____________________________________
www.sagmueller.net
Freedom - use it or lose it (Lawrence Lessig)
Im übrigen bin ich der Meinung, dass Microsoft zerschlagen werden muss.