标准c库打开创建文件读写文件光标移动

2023-10-31

  • fopen()函数
    在这里插入图片描述
    在这里插入图片描述
    fopen只能配合使用fread、fwrite等不能是read,write。
    例子
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
	FILE *fp;
	char *str="hello ubuntu";
	char *readBuf;
	//   FILE *fopen(const char *pathname, const char *mode);
			//file类型的文件流         权限
	fp=fopen("./test14.txt","w+");//可读可写
	//size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
	/*
	void *ptr:缓冲区readbuf
	size_t size:如果写入字符串,相当于一个字符的大小
	size_t nmemb:写入的个数
	 FILE *stream:哪个文件
	*/
	fwrite(str,sizeof(char),strlen(str),fp);//一个一个的写入,写strlen(str)次,//fwrite的返回值取决于size_t nmemb
	//fwrite(str,sizeof(char)*strlen(str),1,fp);//一次性写readBuf,sizeof(char)*strlen(str)个,写一次
	int size=fseek(fp,0,SEEK_END);
	fseek(fp,0,SEEK_SET);
	readBuf=(char *)malloc(sizeof(char)*size+8);
	//size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
	fread(readBuf,sizeof(char),strlen(str),fp);//fread的返回值取决于size_t nmemb
	printf("读的内容是:%s\n",readBuf);
	//fclose(fp);
	return 0;
}

在这里插入图片描述
在这里插入图片描述

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

标准c库打开创建文件读写文件光标移动 的相关文章

  • 如何使用libaudit?

    我试图了解如何使用 libaudit 我想接收有关使用 C C 的用户操作的事件 我不明白如何设置规则 以及如何获取有关用户操作的信息 例如 我想获取用户创建目录时的信息 int audit fd audit open struct aud
  • 使用 MongoDB docker 镜像停止虚拟机而不丢失数据

    我已经在 AWS EC2 上的虚拟机中安装了官方的 MongoDB docker 映像 并且数据库上已经有数据 如果我停止虚拟机 以节省过夜费用 我会丢失数据库中包含的所有数据吗 在这些情况下我怎样才能让它持久 有多种选择可以实现此目的 但
  • Linux TCP服务器:在接受连接之前读取客户端的IP地址

    Related C Winsock API如何在接受连接之前获取连接客户端IP https stackoverflow com questions 716209 c winsock api how to get connecting cli
  • grails 上的同步块在 Windows 上有效,但在 Linux 上无效

    我有一个 grails 应用程序 它依赖于服务中的同步块 当我在 Windows 上运行它时 同步按预期工作 但当我在 ams linux 上运行时 会出现 StaleObjectStateException 该问题在以下示例中重现 cla
  • 如何在 Linux x86_64 上模拟 iret

    我正在编写一个基于 Intel VT 的调试器 由于当 NMI Exiting 1 时 iret 指令在 vmx guest 中的性能发生了变化 所以我应该自己处理vmx主机中的NMI 否则 guest会出现nmi可重入错误 我查了英特尔手
  • 使用命令行将 MediaWiki 维基文本格式转换为 HTML

    我倾向于编写大量文档 因此 MediaWiki 格式对我来说很容易理解 而且比编写传统 HTML 节省了我很多时间 然而 我也写了一篇博客 发现一直从键盘切换到鼠标来输入正确的 HTML 标签会增加很多时间 我希望能够使用 Mediawik
  • linux下如何获取昨天和前天?

    我想在变量中获取 sysdate 1 和 sysdate 2 并回显它 我正在使用下面的查询 它将今天的日期作为输出 bin bash tm date Y d m echo tm 如何获取昨天和前天的日期 这是另一种方法 对于昨天来说 da
  • Linux 中的电源管理通知

    在基于 Linux 的系统中 我们可以使用哪些方法 最简单的方法 来获取电源状态更改的通知 例如 当计算机进入睡眠 休眠状态等时 我需要这个主要是为了在睡眠前保留某些状态 当然 在计算机唤醒后恢复该状态 您只需配置即可获得所有这些事件acp
  • 为什么 ld 无法从 /etc/ld.so.conf 中的路径找到库?

    我想添加 opt vertica lib64进入系统库路径 所以我执行以下步骤 1 添加 opt vertica lib64 into etc ld so conf 然后运行ldconfig 2 检查 bash ldconfig p gre
  • R 未获取用户库

    我有一个带 R 3 6 0 的 Fedora 30 系统 用户库设置在Renviron就像这个 R LIBS USER R LIBS USER R x86 64 redhat linux gnu library 3 6 事实上 它出现在交互
  • 如何确保 numpy BLAS 库可用作动态加载库?

    The theano安装文档 http www deeplearning net software theano install html troubleshooting make sure you have a blas library指
  • 确保 config.h 包含一次

    我有一个库项目 正在使用 Linux 中的 autotools 套件移植到该项目 我对自动工具很陌生 本周 我已经了解了其操作的基础知识 我有一个关于如何保留内容的问题config h免遭重新定义 我惊讶地发现生成的config h文件也没
  • “grep -q”的意义是什么

    我正在阅读 grep 手册页 并遇到了 q 选项 它告诉 grep 不向标准输出写入任何内容 如果发现任何匹配 即使检测到错误 也立即以零状态退出 我不明白为什么这可能是理想或有用的行为 在一个程序中 其原因似乎是从标准输入读取 处理 写入
  • 无法仅在控制台中启动 androidstudio

    你好 我的问题是下一个 我下载了Android Studio如果我去 路径 android studio bin 我执行studio sh 我收到以下错误 No JDK found Please validate either STUDIO
  • Scrapy FakeUserAgentError:获取浏览器时发生错误

    我使用 Scrapy FakeUserAgent 并在我的 Linux 服务器上不断收到此错误 Traceback most recent call last File usr local lib64 python2 7 site pack
  • 如何查明 Ubuntu 上安装了哪个版本的 GTK+?

    我需要确定 Ubuntu 上安装了哪个版本的 GTK 男人似乎不帮忙 这个建议 https stackoverflow com a 126145 会告诉您安装了哪个 2 0 的次要版本 不同的主要版本将具有不同的包名称 因为它们可以在系统上
  • 将数组传递给函数名称冲突

    Specs GNU bash 版本 3 1 17 无法升级 Premise 我一直在摆弄数组 我想知道是否有任何方法可以让函数的本地变量与所述函数外部的数组同名 Example 在下面的示例中 我将尝试显示该问题 Working bin b
  • strlen - 字符串的长度有时会增加 1

    我正在做一些 C 智力题 在大多数情况下 我能够找到正确的答案 但我遇到了问题 我通过使用编译器知道正确的答案 但我不知道原因 看一下代码 char c abc 012 0x34 什么会strlen c 返回 使用标准 C 编译器 我的编译
  • 无法安装 WWW::Curl::Easy: SZBALINT/WWW-Curl-4.17.tar.gz : make NO

    我正在尝试在我的 Fedora 26 机器上安装 WWW Curl Easy gcc c I usr include D REENTRANT D GNU SOURCE O2 g pipe Wall Werror format securit
  • 为什么在 Linux 上字符串文字的内存地址与其他字符串文字的内存地址如此不同?

    我注意到字符串文字在内存中的地址与其他常量和变量 Linux 操作系统 非常不同 它们有许多前导零 未打印 Example const char h Hi int i 1 printf p n void h printf p n void

随机推荐

  • GO如何编写一个 Worker Pool

    作者 JustLorain https juejin cn post 7244733519948333111 前言 池化技术是一种资源管理技术 它通过提前创建和维护一组可重用的资源实例池 以便在需要时快速分配和回收这些资源 协程 gorou
  • java远程关机_java远程开关机

    packagetestFrame importjava awt Color importjava awt Font importjava awt event ActionEvent importjava awt event ActionLi
  • 关于STM32 下载程序下方提示internal command error的解决办法

    最近在调试一块板子 使用的是STM32CubeMx生成 结果发现 自己在烧写程序完成后 再次烧写就无法烧写成功 一直提示No Target connect 后在bulid output中发现了一个问题 在bulid output下方提示in
  • Memcache图形化管理工具MemAdmin

    1 美图 2 概述 下面给大家介绍一款 memcache图形化管理工具 MemAdmin 下载地址 http www junopen com memadmin MemAdmin是一款可视化的Memcached管理与监控工具 使用PHP开发
  • python网络爬虫之Max retries exceeded with url错误

    ConnectionError HTTPSConnectionPool host cq feibaos com port 443 Max retries exceeded with url news lists notice html re
  • IDEA导入本地项目

    1 文件 New Model from Existing Sources 2 选中需要导入的项目 3 选择maven文件选项 从外部模型导入模块 Idea本地项目部署路径 IDEA不会把你的项目部署到你的Tomcat安装目录 它会在操作系统
  • Weblogic SSRF漏洞

    1 漏洞描述 weblogic中存在SSRF漏洞 利用该漏洞可以发送任意HTTP请求 进而攻击内网中redis fastcgi等脆弱组件 2 影响版本 weblogic 10 0 2 10 3 6版本 3 POC http 192 168
  • 深入理解数据结构——堆栈的基本操作

    include
  • 版本号命名指南

    首先看看某些常见软件的版本号 Linux Kernel 0 0 1 1 0 0 2 6 32 3 0 18 若用 X Y Z 表示 则偶数 Y 表示稳定版本 奇数 Y 表示开发版本 Windows windows 98 windows 20
  • getopt_long 函数的使用

    getopt long 函数的使用网上已经有很多了 这里只是记录一下方便自己后续查找 首先函数原型声明 include
  • 情境领导者-第七章、解决绩效问题

    情境领导者 第七章 解决绩效问题 故事 总经理 并非如此 是什么意思 罗杰斯 一旦我能够使人们独立完成工作并有良好的工作业绩 而且他们能保持这个状态 那就很了不起了 总经理 这也会是你的工作变得更容易对吧 罗杰斯 的确会使我的工作变得容易些
  • ExtJs 动态添加组件

    function createComBox id name var c new Ext form ComboBox mode local forceSelection true triggerAction all displayField
  • 04模板学习之普通类继承类模板和类模板继承类模板的区别

    04模板学习之普通类继承类模板和类模板继承类模板的区别 1 普通类继承类模板 普通类继承模板时 继承的模板类必须确定类型 否则无法通过编译 因为普通类编译时需要确定基类的类型 而基类却无法确定 所以必定报错 template
  • gradle引入maven本地库中的jar包

    gradle引入maven本地库中的jar包 在build gradle中加入 def lmr file new File maven repo absolutePath repositories mavenCentral mavenLoc
  • Github上传项目报错:error: src refspec master does not match any

    想把自己在本地写好的项目上传到github 结果路途坎坷 记下历程 仅供参考 参考的第一个文档最后一步git push u origin master我却不成功 显示如下错误 于是参考网上的解决办法 把命令的最后的master改成main
  • MyBatis的XML映射文件(二)

    文章目录 动态SQL if choose trim foreach 缓存 一级缓存 二级缓存 第三方缓存 个人博客 动态SQL note 动态 SQL 是 MyBatis 的强大特性之一 如果你使用过 JDBC 或其它类似的框架 你应该能理
  • 张飞硬件设计与开发 学习笔记(第一部 线性稳压电源设计) 含理解,超详细!

    第一部 线性稳压电源的设计 前言 一 线性稳压电源的设计 1 课程概述 交流到直流降压简介 2 整流原理介绍 电阻选型 二极管介绍 3 电容的理解与选型 4 稳压电路的设计流程 5 元件详细选型 6 稳压管 三极管应用 成本控制方案二 总结
  • [获取数据集] 数据分析、机器学习获取开放的数据集

    获取数据集 数据分析 机器学习获取开放的数据集 不管数据分析还是机器学习 用真实的数据比用虚拟的数据得出的结果要好 以下是一些比较流行的开放数据存储库 里面有成千上万覆盖各个领域的数据 流行的开放数据存储库 UC Irvine Machin
  • @Cacheable使用spring缓存

    一 首先了解spring自带的注解 首先在启动类需要开启该功能 package com frame util import org mybatis spring annotation MapperScan import org spring
  • 标准c库打开创建文件读写文件光标移动

    fopen 函数 fopen只能配合使用fread fwrite等不能是read write 例子 include