simple c question
Reuti
reuti@staff.uni-marburg.de
Sat Sep 11 21:41:00 GMT 2004
Hi there,
>/////////////////////////////////////////////////
>
>// string.h included of course...
>
>char * GetPath (char * string)
>{
> char * path;
> int i, pos=-1;
>
> for(i=0;string[i]!=0;i++)
> {
> if(string[i]=='/')
> pos=i;
> }
>
> if(pos==-1)
> return NULL;
>
> strncpy(path, string, pos+1);
>
>return path;
>}
>
>////////////////////////////////////////////
you are not allocating any memory for *path (it's just a pointer), where the
strncpy could copy anythinkg to.
void GetPath (char* string, char* result)
{
char *path;
strcpy(result, string);
path=strrchr(result, '/');
if (path==NULL)
result[0]=0;
else
*(path+1)=0;
}
Greetings - Reuti
PS: Once upon the time a lived at the UmstraÃe...
More information about the Gcc-help
mailing list