=========================

编译环境:VS2015

=========================

在vs2015环境下使用fopen方式打开文件会报错,大概内容是不安全(unsafe)。网上的解决办法主要分为两种:第一种是改配置环境:https://jingyan.baidu.com/article/ce436649fd61543773afd32e.html百度经验上提供的方法。但是经过尝试,发现这个方法并没有对我的项目产生影响。所以采用第二种方案,也是微软推荐使用的方式:使用fopen_s方式。至于该方式的写法:参考http://blog.sina.com.cn/s/blog_15f359e0b0102wds7.html。

然而我并不是完全按照那个方式来的。

我先定义了一个const类型的变量diskName。然后就直接使用fopen_s。

运行发现不对。errno_t变量err的值是13,这个错误类型表示获取数据不对。

经过多次探索,发现:

fopen_s()函数中,filename最后生成的是const char*类型。所以自己定义的const方式也好,define的也好,在这里都是不正确的。找不到文件。所以不要不要不要在文件名前使用const。

注:fopen_s函数中的三个参数,指的是最后这个函数生成的类型形式(比如说第二个参数:意思是执行完这个函数,最后生成的文件名是const char*类型的),而不是我们要写入的类型(比如第二个参数:并不是说我们要在第二个参数的位置写一个const char*类型的变量)。此外,有的函数有很多参数,但是不需要每个都写。

总结:使用errno_t fopen_s方式打开文件时,文件名不要使用const,直接用char filename[]就好了。

errno_t open_s()打开文件出现的错误分析相关推荐

  1. fopen_s打开文件方式的选择

    写一个程序,用socket套接字传递一个图片文件(大小:241KB),发送过去后,在生成图片时,大小变为了242KB,自然,图片文件无法预览. 后经查找,在生成图片时,打开文件操作如下: errno_ ...

  2. Ubuntu 打开文件 (使用nautilus )

    有时候编译完代码之后想直击打开apk 或者其他的 所在的文件夹 我们在终端中输入nautilus  xx (xx 文件夹的路径) 然后执行回车这样就直接打开文件夹了. 一般在终端中输入nau 在按下t ...

  3. Linux最大打开文件描述符数

    1.    系统最大打开文件描述符数:/proc/sys/fs/file-max a.    查看 $ cat /proc/sys/fs/file-max 186405 2. 设置 a.    临时性 ...

  4. 操作系统学习:Linux0.12初始化详细流程-打开文件与加载可执行程序

    本文参考书籍 1.操作系统真相还原 2.Linux内核完全剖析:基于0.12内核 3.x86汇编语言 从实模式到保护模式 4.Linux内核设计的艺术 ps:基于x86硬件的pc系统 Linux0.1 ...

  5. JS实现HTML上用button打开文件对话框

    JS实现HTML上用button打开文件对话框 在HTML上有一button,点这个button的话,可以弹出文件选择的对话框,用ActiveX实现的,源码如下: Code  1<HTML> ...

  6. java中打开文件显示_从java程序中打开任何文件

    在 java中打开文件似乎有点棘手 – 对于.txt文件,必须将File对象与Scanner或BufferedReader对象结合使用 – 对于图像IO,必须使用 ImageIcon类 – 如果要打开 ...

  7. linux c 判断文件打开文件,Linux 用C语言判断文件和文件夹

    Linux 用C语言判断文件和文件夹 #include #include #include #include int access(const char *pathname, int mode); i ...

  8. 打开文件和关闭文件的含义

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p257 习题8 2.打开文件和关闭文件的含义是什么?打开文件和关闭文件各意味着什么? 打开文件--&g ...

  9. visual code 在标签页打开_VSCode 不在新标签页打开文件如何解决?

    预览模式(Preview mode) 刚接触 VSCode 的时候想同时打开多个文件,但在操作的时候发现每次通过 VSCode 自带的文件浏览器点开一个新文件时,这个新文件都会直接在当前标签页打开,而 ...

最新文章

  1. grub-和grub-troubleshootting
  2. Mozilla “Common Voice” 开源语音识别项目
  3. concurrency_Java Concurrency Essentials教程
  4. 使用C++控制台程序或Python调用Dll创建Qt界面(dll中创建QApplication,qtwinmigrate的使用)
  5. 【干货】私域电商崛起:2021见实私域流量白皮书高清6月版.pdf(附下载链接)...
  6. win11如何显示所有应用图标 Windows11显示所有应用图标的设置方法
  7. Django模板语法和ModelForm
  8. [译] 为什么加密货币泡沫会破裂?
  9. 量化涌现:信息论方法识别多变量数据中的因果涌现
  10. sqlserver 附加数据库失败,操作系统错误 5:5(拒绝访问。)的解决办法
  11. 微信小程序的开发之手机号、邮箱验证
  12. html文字多余部分三个点,解决特殊符号和字母换行问题
  13. imp导入时 出现IMP-00017:由于 ORACLE 错误 6550, 以下语句失败: 解决方法
  14. 根据IP获取地理位置信息 — Golang
  15. css中white-space的值pre-wrap
  16. Javascript 元素拖曳操作 By shawl.qiu (兼容IE,Opera,Firefox)
  17. css3 字体自动换行第二行缩进一格
  18. 自制贴纸图案大全图片_贴纸的制作方法
  19. 搭建视频播放服务器(nginx web服务器)
  20. 通俗解释网络语到底什么是PTSD?什么是饭圈PTSD?

热门文章

  1. jdbcTemplate 后台接口中的分页
  2. XtraReport交叉表自适应行高及最佳列宽(转)
  3. UDP、广播、多播与IGMP(七)
  4. ZooKeeper 技术内幕,Leader 选举是一个什么样的过程?
  5. 新一代垃圾回收器ZGC的探索与实践
  6. 一次 Java 内存泄漏排查过程,学习学习
  7. 简单易懂的自动驾驶科普知识
  8. 电商系统设计之商品(下)
  9. 分解和合并:Java 也擅长轻松的并行编程!
  10. Android --- 刚刚进入 Activity 页面的时候无法打开对话框,报错 Unable to add window -- token null is not valid; is your