Why changing string characters causes segmentation fault(core dumped):
char *str = "string";
str[0] = 'S'; //segmentation fault(core dumped)
c++
Why changing string characters causes segmentation fault(core dumped):
char *str = "string";
str[0] = 'S'; //segmentation fault(core dumped)
Best Answer
The solution is simple, declare your string in the following way instead
The reason why you should do this is because of the Undefined behavior. Creating a string with pointers will make your string locate at the
read only
memory part, so you cannot modify it, whereas another way will also make a copy of your string on the stack. Also check What is the difference between char s[] and char *s in C?