zoukankan      html  css  js  c++  java
  • 关于strcasestr的问题

    今天要从一个shell的执行结果中查找一个字符串的存在与否,先使用popen执行一个shell获得输出stream的指针,然后使用fgets一行 一行分析。在分析一行,的时候使用strcasestr来查找一个不分大小的字符串是否存在,但是man page里明明说的是返回char×,编译的时候报错。说我没有进行显式的类型转换就将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
    #undefine __USE_GNU
  • 相关阅读:
    SpringMVC-------1.spriingMVC简介和简单案例
    MyBatis-----7.pageHelper分页助手
    MyBatis-----4.实现关联表查询
    MyBatis-----6.逆向工程(generator)
    MyBatis-----1.MyBatis简介和使用
    MyBatis-----2.通过映射接口实现CRUD
    Spring-2
    Spring-1
    php调用阿里云手机归属地查询
    php身份证验证
  • 原文地址:https://www.cnblogs.com/hjslovewcl/p/2314362.html
Copyright © 2011-2022 走看看