使用strcasestr,说没有进行显式的类型转换就将int转换成pointer(我用一个char×pointer接 收结果)类型。在实在找不到自己的错误的情况下,我到网络开始转悠,发现很多老外也遇到这个问题。原来是一些老的strcasestr是non- standard lib的一本分,因此使用的时候需要将GNU extension开关打开,方法如下:
在需要这个macro的地方#define __USE_GNU,我这里的情况是需要在string.h中使用extension;所以,在#include <string.h>之前来define这个macro,最好使用完马上将这个自己define的macro undefine避免给别人带来麻烦!
出错的信息如下:
“warning: return makes pointer from integer without a cast”
解决方法:
#define __USE_GNU
#include <string.h>
本文解决使用strcasestr时遇到的编译警告问题,通过在字符串头文件前定义__USE_GNU宏来启用GNU扩展,避免了警告信息,并解释了相关错误信息。
656

被折叠的 条评论
为什么被折叠?



