fopen :invalid argument错误

2023-05-16

今天使用文件操作函数:fopen fread fwrite fclose时,编译正常通过了,但是运行时就爆出了invalid argument错误

FILE* fp = fopen ("a.txt", "bw"); // error : b只能书写在w的后边表示只能以二进制操作该文件

if (NULL == fp) {

perror ("fopen"); 

return -1;

}

执行时出错,后来比对以前的代码笔记,发现fopen的第二参数写法错误,b表示以二进制操作文件,只能跟在其他几个字母的后边,不能书写在开头

fopen的第二个参数只能是以下几种书写模式:

“r” 以 只读方式打开文件,该文件必须存在。
“r+” 以可读写方式打开文件,该文件必须存在。
”rb+“ 读写打开一个 二进制文件,允许读写数据,文件必须存在。
“w” 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
“w+” 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
“a” 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。( EOF符保留)
”a+“ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
“wb” 只写打开或新建一个 二进制文件;只允许写数据。
“wb+” 读写打开或建立一个二进制文件,允许读和写
“wx” 创建文本文件,只允许写入数据.[C11]
“wbx” 创建一个二进制文件,只允许写入数据.[C11]
”w+x“ 创建一个文本文件,允许读写.[C11]
“wb+x” 创建一个二进制文件,允许读写.[C11]
“w+bx” 和"wb+x"相同[C11]
“rt” 只读打开一个文本文件,只允许读数据
  “wt” 只写打开或建立一个文本文件,只允许写数据
  “at” 追加打开一个文本文件,并在文件末尾写数据
  “rb” 只读打开一个二进制文件,只允许读数据
  “wb” 只写打开或建立一个二进制文件,只允许写数据
  “ab” 追加打开一个二进制文件,并在文件末尾写数据
  “rt+” 读写打开一个文本文件,允许读和写
  “wt+” 读写打开或建立一个文本文件,允许读写
  “at+” 读写打开一个文本文件,允许读,或在文件末追加数据
  “rb+” 读写打开一个二进制文件,允许读和写
  “ab+” 读写打开一个二进制文件,允许读,或在文件末追加数据
以x结尾的模式为独占模式,文件已存在或者无法创建(一般是路径不正确)都会导致fopen失败.文件以操作系统支持的独占模式打开

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

fopen :invalid argument错误 的相关文章

  • TypeError: float() argument must be a string or a number, not ‘Dimension‘

    Keras中运行 input shape得到的变量与float int等类型的操作时会报错 xff0c 例如 in channel 61 inputs shape channel axis x 61 conv layer x filter
  • Invalid prop: custom validator check failed for prop “value“

    问题描述 看见这种大片的爆红 xff0c 就两个字 xff1a 头疼 xff01 xff01 xff01 虽然这样的爆红不影响程序运行 xff0c 但是作为一个合格的程序猿 xff0c 我们怎么可以允许这个问题出现呢 x1f60e 问题排查
  • Linux文件I/O编程

    文章目录 一 文件描述符 二 打开文件 三 创建文件 四 关闭文件 五 读取文件 六 向文件写入数据 七 设定文件偏移量 八 获取文件状态 九 创建和删除目录项 十 文件锁定 十一 建立文件和内存映射 十二 mmap 和 共享内存对比 I
  • Windows 和 Linux 上 fopen 中“r+”的使用

    我正在摆弄一些打开 读取和修改文本文件的代码 一个快速 简化 的例子是 include
  • PHP 输出到文件以供下载,无需在服务器上创建文件

    我想将数据输出到文件供用户下载 而无需在服务器上实际创建文件 文件的数据只是一个数组 我将其转换为 CSV 格式以供用户下载 这是我的代码 fh fopen file csv w fputcsv fh arr arr is my array
  • 使用 PHP 覆盖文件中的行

    覆盖文件中特定行的最佳方法是什么 我基本上想在文件中搜索字符串 parsethis 并用其他内容覆盖该行的其余部分 如果文件真的很大 日志文件或类似的文件 并且您愿意为了内存消耗而牺牲速度 您可以打开两个文件并基本上做到这一点杰里米 鲁滕建
  • 无法使用 fopen (php) 打开文件

    我正在尝试打开一个文件以在 php 脚本中读取 但遇到问题 这是我的代码 fileHandle fopen 1234 main csv r or die Unable to open if file exists fileHandle ec
  • 如何使用fopen访问资源图片?

    I use fopen filename c str rb 在 Qt 中使用图像资源 But fopen想要一个完整的路径 如果我的文件名是 则不起作用 images img png fopen不是 Qt 的一部分 Qt 的资源系统仅适用于
  • fread 的下载速度比 readfile 慢很多

    我通过 PHP 脚本从 URL 向用户提供下载服务 使用时readfile 我得到了我的连接可以支持的最大下载速度 大约 2 5MB s 但是当我使用fopen fread fclose路线下载速度非常非常慢 大约1 2KB s 这是我的代
  • fopen b 标志是什么

    在阅读中php fopen 的文档 http php net manual en function fopen php对于 php 我看到以下内容 为了可移植性 强烈建议您在使用以下命令打开文件时始终使用 b 标志fopen http ph
  • 以附加模式打开文件时,如何重新定位文件指针?

    我正在尝试将一些数据插入文件的中间 我已以追加模式打开文件 file fopen msg gt header filename ab 然后我尝试在文件中寻找所需的偏移量 如下所示 fseek file msg gt header offse
  • PHP Readfile 方法的安全问题

    嘿 使用时有什么安全问题需要担心吗readfilePHP 中的方法 我想使用 readfile 方法来获取存储在各种第三方服务器上的文件的 URL 然后我将文件提供给用户 直观上 似乎存在风险 因为 URL 可以指向任何文件 另一方面 我只
  • 如何检查我在 Windows 上打开了哪些文件?

    当尝试执行 fopen C Windows XP 时 我收到 打开文件过多 错误 可能发生这种情况是因为我在程序中的某个地方打开了文件而不关闭它们 Windows 上有没有办法查看所有打开的文件描述符 或我的程序打开的所有文件 的列表 您可
  • Matlab fopen,是否可以有数字文件名?

    我有以下代码 ptol 2 4 8 a ptol 1 fid fopen a r 我需要打开一个文件 该文件由调用的号码确定ptol 即如果ptol 1 2 那么fopen应该打开文件 2 目前我收到错误 文件名无效 我该如何解决 以下代码
  • 通过 fopen 使用代理服务器

    我正在尝试使用 fopen 从另一个网站读取远程文件 我想使用代理来执行此操作 据我所知我可以这样做 context stream context create array http gt array proxy gt tcp 192 16
  • 如果退出程序而不执行 fclose() 会发生什么?

    问题 如果我退出程序而不关闭文件会发生什么 是否发生了一些不好的事情 例如 某些操作系统级别的文件描述符数组未释放 两种情况下的答案相同 程序退出 意外崩溃 代码示例 对于程序退出 我的意思是这样的 int main fopen foo t
  • 从 C 中的命令行参数打开文件

    我希望我的 C 程序要求用户键入他们想要打开的文件的名称 并将该文件的内容打印到屏幕上 我正在学习 C 教程 到目前为止有以下代码 但是当我执行它时 它实际上不允许我输入文件名 我得到 按任意按钮继续 我正在使用代码块 我在这里做错了什么
  • PHP 无法将包含 PHP 代码的文件读取为文本文件

    我偶然发现了以下特点 handle fopen realpath folder files php r 无法读取文件 但是一旦我从文件中删除 php 标签 它变得可读 并且我的脚本在页面上打印非空文件内容 另外 file php 永远不会被
  • 使用 fopen 时出现段错误

    我从以下代码的第二行收到段错误 FILE output NULL output fopen output2 txt w 我不认为这是某种损坏的内存错误 因为当我将 w 更改为 r 时 它运行时没有段错误 另外 它似乎是在出现段错误之前创建该
  • PHP - 下载大文件的安全方法?

    信息 PHP下载文件的方法有很多种 文件获取内容 http php net manual en function file get contents php 文件放置内容 http php net manual en function fi

随机推荐

  • Linux UIO驱动实例介绍

    接上一篇介绍UIO机制 https blog csdn net hpu11 article details 109395820 uio驱动详解 为了用最简单的例子说明问题 xff0c 我们在我们uio驱动的内核部分只映射了一块1024字节的
  • Mosquitto服务安装与使用---入门操作介绍

    关于Mosquitto配置的资料网上还是有几篇的 xff0c 但是看来看去 xff0c 基本上都是基于Linux 基于Window的凤毛麟角 xff0c 看上去貌似配置的东西相差不大 xff0c 实操过程中真的烦透了 xff0c 配置就是不
  • Windows 11 系统下载,正式版尚未发布

    下载链接方式 xff1a 关注 郑州行疆户外 程序员自己的订阅号 xff0c 回复 win11 xff0c 获取win11系统下载链接 一 发布 今年5月的Build大会 xff0c 微软便正式明确新一代操作系统为Windows 11 xf
  • Windows 11 系统下载安装 教程

    关 注 郑州行疆户外 订阅号 xff0c 回复 win11 xff0c 获取win11系统下载链接 xff0c 安装教程 说明 Windows11系统安装教程 xff0c 这里使用VM虚拟机演示具体安装教程 xff0c 如果是新手 xff0
  • Windows 11 TPM2.0问题及解决方法

    关注 郑州行疆户外 订阅号 回复 win11 xff0c 下载 windows11系统 回复 问题 xff0c 查看 windows11安装过程中遇到的问题及其解决方法 随着2021年6月24日 xff0c 微软正式发布会上确定windon
  • linux的dma驱动

    硬件平台 xff1a TI的3530 内核 xff1a linux 2 6 36 功能 xff1a 将fpga的数据从内存的一个地方复制到内存另一个地方 初学dma感到很是吃力 xff0c 编写的内核驱动代码仔细看了一个星期 xff0c 才
  • linux内核的并发与竞态

    并发与竞态是指多个任务单元同时访问同一个资源 xff0c 就会出现并发 xff0c 竞态的现象 其中多个任务单元包括中断 xff0c 进程 线程 xff0c 甚至多个多处理器 xff1b 同一资源既包含硬件资源 xff0c 也包括软件数据
  • UDP通信

    头文件 xff1a 1 pragma once 2 3 include lt stdio h gt 4 include lt unistd h gt 5 include lt string h gt 6 include lt stdlib
  • 交叉编译找不到stdio.h头文件,make menuconfig问题解决办法

    今天测试交叉编译器总出现问题 xff0c fatal error stdio h No such file or directory 后来根据指导使用编译命令 xff1a arm linux gcc src c I 头文件路径 能编译通过
  • 原子上下文,进程上下文,中断上下文的详细解析

    内核空间和用户空间是现代操作系统的两种工作模式 xff0c 内核模块运行在内核空间 xff0c 而用户态应用程序运行在用户空间 它们代表不同的级别 xff0c 而对系统资源具有不同的访问权限 内核模块运行在最高级别 xff08 内核态 xf
  • server,gtk,tslib

    一 首先先说下framebuffer xserver tslib gtk和桌面这五者之间的联系 xff0c 1 framebuffer 即linux系统的一块内存区域 xff0c 往这块区域写东西屏幕就会有所显示 对应的设备文件是dev f
  • 修改启动logo,禁止光标

    linux内核下使用的图片文件类型是pnm和PPm格式的 xff0c 所以在开始介绍修改linux内核启动LOGO之前 xff0c 1 先需要介绍一下怎么样设计自己开始logo的ppm图片 xff0c 首先选择一张png格式的图片 xff0
  • 移植gtk,这个配置有点早,可以了解一下他的工作流程

    最近一直GTK xff0c 感觉好晕 整整耗了我近三天才勉强在网络资料和他人帮助情况下完成 所以记录一下 xff0c 不然我记性太差 xff0c 很可能下班之前就忘了 xff01 以后也好有个参考 首先注意一个问题 xff1a GTK在编译
  • error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]

    这个错误多为编写linux驱动程序时出现的错误 xff0c 正常情况下是以警告出现的 xff0c 一般有两种情况 xff1a 1 在函数体内 xff0c 定义变量代码前边出现非定义的变量 此变量在其他地方已经定义了 xff0c 编译时就会出
  • 用户空间的虚拟地址如何转换得到实际的物理地址

    思路 xff1a 进程号是一个进程在用户空间的唯一标示 xff0c 所以 xff0c 根据pid可以从内核中得到一个进程的所有信息 xff0c 另外就是知道虚拟地址就可以通过内核物理地址映射到虚拟地址的逆运算就可以还原他的实际物理地址 以上
  • ubuntu系统下的minicom串口/usb转串口配置

    1 安装minicom串口软件 sudo apt get install minicom 2 配置串口 minicom默认配置是tty8 如果你直接使用的就是串口 xff0c 那么安装好之后就可以直接使用了 如果你是用usb转串口 xff0
  • Install ncurses (ncurses-devel) and try again.

    主要就是终端图形配置时最容易出现的问题 xff0c 比如最常见的make menuconfig xff0c 解决方法 xff1a sudo apt get install ncurses devel 屏幕弹出 xff1a 找不到这个软件 x
  • ioremap/mmap的几个测试结论

    环境 xff1a pc机 xff0c ubuntu 14 04 64位 xff0c 物理机 arm板 omap3530 xff0c 1G内存 xff0c 内核linux 2 6 32 1 mmap在pc机上测试映射大小 xff0c 可以将文
  • Freertos的钩子函数

    何谓钩子函数 xff1f 大多数操作系统 xff0c 如 xff1a windows linux ucos freertos 其实都有钩子函数 xff0c 能干什么呢 xff1f 其实就是操作系统留给开发者的一个回调函数 xff0c 具体有
  • fopen :invalid argument错误

    今天使用文件操作函数 xff1a fopen fread fwrite fclose时 xff0c 编译正常通过了 xff0c 但是运行时就爆出了invalid argument错误 FILE fp 61 fopen 34 a txt 34