zoukankan      html  css  js  c++  java
  • error C4996: 'setmode': The POSIX name for this item is deprecated解决方案

    在使用VS2012编译zlib库官方提供的案例程序 zpipe.c 中代码时报错:
    信息如下:

    错误  1   error C4996: 'setmode': The POSIX name for this item is
     deprecated. Instead, use the ISO C++ conformant name:
      _setmode. See online help for details.    
    

    解决方案:
    將代码中的setmode函数用_setmode替换,fileno用_fileno替换。

    即將下面代码

    #if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__)
    #  include <fcntl.h>
    #  include <io.h>
    #  define SET_BINARY_MODE(file) setmode(_fileno(file), O_BINARY)
    #else
    #  define SET_BINARY_MODE(file)
    #endif

    替换为:

    #if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__)
    #  include <fcntl.h>
    #  include <io.h>
    #  define SET_BINARY_MODE(file) _setmode(_fileno(file), O_BINARY)
    #else
    #  define SET_BINARY_MODE(file)
    #endif

    这样就可以编译通过了。

  • 相关阅读:
    第一周学习进度
    四则运算
    添加课程
    继承和多态的动手动脑
    String 方法
    【CoreData】分页查询和模糊查询
    【CoreData】表之间的关联
    代码创建storyboard
    UIWindows&nbsp;使用注意
    UIApplicationDelegate
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6468976.html
Copyright © 2011-2022 走看看