本文主要是介绍Warring 不建议使用从字符串到‘char *’的转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题的根源是用const字符串初始化指针引起的 这是个比较严重的警告
func(char *p);
……
char *pFileType = ".tmp";
strcpy( pFileType, "hello" );
func( pFileType );
当出现以上的情况时,程序就会提示RT的警告
原因在于常量".tmp"的指针指向的是全局const内存区,这块内存区是不能想改就改的。
更正:
func(char *p);
……
const char *pFileType = ".tmp";
strcpy( pFileType, "hello" );
func( pFileType );
以上是自己在工作中苦恼了一晚上的问题,查找资料终于明白了其中道理。
http://blog.csdn.net/haoel/article/details/1395358
很详细的解析 说出其中的本质 可以参考看下
这篇关于Warring 不建议使用从字符串到‘char *’的转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!