Re: strtok, bus error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks Bryan and Ben. 
it makes sense now.


--- On Mon, 2/16/09, Bryan Christ <bryan.christ@xxxxxxxxx> wrote:

> From: Bryan Christ <bryan.christ@xxxxxxxxx>
> Subject: Re: strtok, bus error
> To: fundu_1999@xxxxxxxxx
> Cc: linux-c-programming@xxxxxxxxxxxxxxx
> Date: Monday, February 16, 2009, 7:57 PM
> char src[]  = "hello world #"; is an automatic
> variable (char array)
> which is both read and write.
> char *other = "hello world #"; is a char * (which
> points to a string)
> of text allocated in the program's text (Data/BSS) area
> which is read
> only.
> 
> On Mon, Feb 16, 2009 at 8:52 PM, Fundu
> <fundu_1999@xxxxxxxxx> wrote:
> > i'm trying to do pretty simple replacement using
> strtok.
> > but it looks like i have missed some subtle difference
> between the two following
> >
> >  char src[]  = "hello world #";
> >  char *other = "hello world #";
> >
> > because if i use "char * other" with strtok
> it fails with bus error but i use src it works, don't
> understand what's the difference.
> >
> > here's the code for strtok.
> >     char delims[] = "#";
> >     char *result = NULL;
> >     // this works
> >     result = strtok( src, delims );
> >     // this doesnot work and give a bus error
> >     // result = strtok(other, delims);
> >     while( result != NULL ) {
> >         printf( "result is
> \"%s\"\n", result );
> >         result = strtok( NULL, delims );
> >     }
> >
> > what am i missing here ? i thought both way of
> declaration(mentioned above ) were the same apparently the r
> not, whats the diff ?
> >
> > any insight would be appreciated, TIA!
> >
> >
> >
> > --
> > To unsubscribe from this list: send the line
> "unsubscribe linux-c-programming" in
> > the body of a message to majordomo@xxxxxxxxxxxxxxx
> > More majordomo info at 
> http://vger.kernel.org/majordomo-info.html
> >
> 
> 
> 
> -- 
> Bryan
> <><
> --
> To unsubscribe from this list: send the line
> "unsubscribe linux-c-programming" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at 
> http://vger.kernel.org/majordomo-info.html


      
--
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Assembler]     [Git]     [Kernel List]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [C Programming]     [Yosemite Campsites]     [Yosemite News]     [GCC Help]

  Powered by Linux