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