Hallo zusammen,
ich verwende Kdevelop unter Suse9.3 und hätte da ein Problemchen mit der strstr()funktion.
Wenn ich die Parameter ganz normal als char* oder char[] deklariere geht es und es werden Substrings gefunden. Was ich jedoch brauche ist als zu suchender String ein Element eines char*-arrays. Ich gebe also z.b. als Parameter
ein. Dort befindet sich ein char*. Doch dies funktioniert nicht, heist dieser String wird von der strstr()funktion im ersten String nicht gefunden. Lasse ich mit
den String ausgeben ist aber alles korrekt, sodass er gefunden werden muss.
ich suche schon seit tagen, hat es eventuell was mit der Speicherallokierung oder fehlenden \0 zu tun ?
ich erzeuge einmal Speicher für das Array
und dann in einer Schleife nochmal für jedes char*-element
Wie gesagt es funktionert sonst alles, nur die strstr-funktion will nicht.
Wenn jemand da eine spontane Idee hätte, bin ich sehr dankbar.
Viele Grüße
Norbert
ich verwende Kdevelop unter Suse9.3 und hätte da ein Problemchen mit der strstr()funktion.
Wenn ich die Parameter ganz normal als char* oder char[] deklariere geht es und es werden Substrings gefunden. Was ich jedoch brauche ist als zu suchender String ein Element eines char*-arrays. Ich gebe also z.b. als Parameter
Code:
arrayname[i]
Code:
printf("%s",arrayname[i])
ich suche schon seit tagen, hat es eventuell was mit der Speicherallokierung oder fehlenden \0 zu tun ?
Code:
char** arrayname;
ich erzeuge einmal Speicher für das Array
Code:
if ((arrayname = (char**)malloc(nr*sizeof(char*)))==NULL) return 0;
und dann in einer Schleife nochmal für jedes char*-element
Code:
if ((arrayname[i] = (char *)malloc(strlen(string)+1)) == NULL) return 0;
Wie gesagt es funktionert sonst alles, nur die strstr-funktion will nicht.
Wenn jemand da eine spontane Idee hätte, bin ich sehr dankbar.
Viele Grüße
Norbert