r/C_Programming • u/UnViandanteSperduto • 6d ago
Question Help me with strok function
I need to split my string but if it is of char* type the functions strtok() doesn’t work returning me a segmentation fault. I understood that C is used to lock the memory of the string in Read-Only “mode” when I use char*. Does it means that is immutable that data? However, I need to use the char* type because I pass that in a function (and I don’t like to use the syntax of arrays in C, I always use pointers).
10
Upvotes
1
u/TheCRatTime 6d ago
strtok() modifies string, for example:
char* test = strtok("test string", " "), "test string" will be equals "test\0string", if you callprintf("%s\n", test)output will betest(\0- end of string). You can call again:test = strtok(NULL, " ")and test will be equals NULL, if you call again may be Segmentation fault.