strtok函数实际上是要把第一个参数的字符串进行修改的。因为这个原因这个字符串的存储位置就不能是只读的,也就是说不能存放在常量区。在使用char* aa ="abcdefg";这样的方式aa是存放在常量区。不能修改,所以在运行是时候会报只读错误。但是如果用malloc分配空间或者aa[],那么aa是存放在堆空间的(可以修改内容)所以可以使用strtok函数的。
strtok使用注意事项
最新推荐文章于 2024-04-21 09:33:39 发布
strtok函数实际上是要把第一个参数的字符串进行修改的。因为这个原因这个字符串的存储位置就不能是只读的,也就是说不能存放在常量区。在使用char* aa ="abcdefg";这样的方式aa是存放在常量区。不能修改,所以在运行是时候会报只读错误。但是如果用malloc分配空间或者aa[],那么aa是存放在堆空间的(可以修改内容)所以可以使用strtok函数的。