C语言怎样写数据⽂件,使之可以在不同字⼤⼩、 字节顺序或浮点格式的机器上读⼊?

一、问题

        怎样写数据⽂件,使之可以在不同字⼤⼩、字节顺序或浮点格式的机器上读⼊,也就是说怎样写⼀个可移植性好的数据⽂件?

二、解答

        最好的移植⽅法是使⽤⽂本⽂件,它的每⼀字节放⼀个 ASCII 代码,代表⼀个字符。 ⽤⽂本⽂件的形式输出与字符⼀⼀对应,⼀个字节代表⼀个字符,便于对字符进⾏逐个处理,也便于输出字符。 例如,存放⼀个整数 25697 在内存中以⽂本⽂件形式存储的效果如图所示。

        以⼆进制⽂件的形式存储的效果如图所示。

 

        可见,以⽂本形式存储这个整数需要占⽤五个字节。⽽以⼆进制⽂件形式存储仅需两个字节。虽然⽂本⽂件形式存储占⽤的内存⽐⼆进制⽂件占⽤的内存⼤,但是可移植性⽐⼆进制⽂件⾼,在移植的时候可使⽤ fprintf( ) 函数输出,fscanf( ) 函数读⼊。

三、总结

        很多⼈认为⽂本⽂件太⼤,使⽤起来读写太慢,但是通常计算机操作的效率是可以接受的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/670429.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从JS角度直观理解递归的本质

让我们写一个函数 pow(x, n),它可以计算 x 的 n 次方。换句话说就是,x 乘以自身 n 次。 有两种实现方式。 迭代思路:使用 for 循环: function pow(x, n) {let result 1;// 在循环中,用 x 乘以 result n 次for (let i…

短时间内如何顺利通过 Java 面试?

今天我们来探讨一个重要的话题:短时间内如何顺利通过 Java 面试? 在此之前,我正在精心编写一套完全面向小白的 Java 自学教程,我相信这套教程会非常适合正在努力提升的你。教程里面涵盖了丰富全面的编程教学内容、详细生动的视频…

2.8Flowmap的实现

一、Flowmap 是什么 半条命2中水的流动 求生之路2中的水的流动 这种方式原理简单,容易实现,运算量少,如今也还在使用 1.flowmap的实质 Flow map(流向图) ,一张记录了2D向量信息的纹理,Flow map上的颜色(通常为RG通道…

Python知识点14---被规定的资源

提前说一点:如果你是专注于Python开发,那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了,而如果你和作者一样只是操作其他技术的Python API那就足够了。 在Python中被规定的东西不止有常识中的那些关键字、构造器等编程语言…

Vue3-Ref Reactive toRef toRefs对比学习、标签ref与组件ref

响应式数据: Ref 作用:定义响应式变量。 语法:let xxx ref(初始值)(里面可以是任何规定内类型、数组等)。 返回值:一个RefImpl的实例对象,简称ref对象或ref,ref对象的value属性是响应式的。 注意点&am…

公网如何访问内网?

公网和内网已经成为我们生活中不可或缺的存在。由于内网的安全性考虑,公网无法直接访问内网资源。如何实现公网访问内网呢?本文将介绍一种名为【天联】的私有通道技术,通过安全加密,保障数据传输的安全性。 【天联】私有通道技术 …

利用Python处理DAX多条件替换

小A:白茶,救命啊~~~ 白茶:什么情况? 小A:是这样的,最近不是临近项目上线嘛,有一大波度量值需要进行类似的调整,一个两个倒没啥,600多个,兄弟,救命…

STM32_FSMC_HAL(介绍)

FSMC(Flexible Static Memory Controller)是STM32微控制器中的一种内存控制器,它允许微控制器与外部存储器接口,如SRAM、NOR Flash、NAND Flash和PSRAM等。FSMC特别适用于需要高速数据交换和大量数据存储的应用场景。 典型应用&a…

06.持久化存储

6.持久化存储 pv: persistent volume 全局的资源 pv,node pvc: persistent volume claim 局部的资源(namespace)pod,rc,svc 6.1:安装nfs服务端(192.168.111.11) yum install nfs-utils.x86_64 -y mkdir /data vim /…

Linux——多线程(二)

在上一篇博客中我们已经介绍到了线程控制以及对应的函数调用接口&#xff0c;接下来要讲的是真正的多线程&#xff0c;线程安全、线程互斥、同步以及锁。 一、多线程 简单写个多线程的创建、等待的代码 #include<iostream> #include<pthread.h> #include<un…

【案例实操】银河麒麟桌面操作系统实例分享,V10SP1重启后网卡错乱解决方法

1.问题现象 8 个网口&#xff0c; 命名从 eth1 开始到 eth8。 目前在系统 grub 里面加了 net.ifnames0 biosdevname0 参数&#xff0c; 然后在 udev 规则中加了一条固定网卡和硬件 pci 设备号的规则文件。 最后在 rc.local 中加了两条重新安装网卡驱动的命令&#xff08; rmmod…

yolov10模块

yolov10模块 1 C2f2 C2fCIB2.1 CIB2.2 RepVGGDW 3 PSA4 SCDown5 v10Detect 论文代码&#xff1a;https://github.com/THU-MIG/yolov10 论文链接&#xff1a;https://arxiv.org/abs/2405.14458 Conv是Conv2dBNSiLU PW是Pointwise Convolution(逐点卷积) DW是Depthwise Convolut…

45页超干PPT:AGV技术详解

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 完整版文件和更多学习资料&#xff0c;请球友到知识星球【智能仓储物流技术研习社】自行下载 AGV&#xff08;Automated Guided Vehicle&#xf…

JVM的垃圾回收机制

目录 GC的工作范围 谁是垃圾 怎么判断&#xff0c;某个对象是否有引用指向捏&#xff1f; &#xff08;1&#xff09;引用计数 缺陷 释放垃圾的策略 &#xff08;1&#xff09;标记清除&#xff08;不实用&#xff09; &#xff08;2&#xff09;复制算法 &#xff08…

公网IP地址如何查询?

公网IP地址是指在互联网中可以被全球范围内的设备访问的IP地址。在网络通信中&#xff0c;公网IP地址扮演着重要的角色&#xff0c;它可以标识设备在互联网中的位置。查询公网IP地址是一种常见的网络管理需求&#xff0c;因为它能够提供网络设备的准确位置信息&#xff0c;方便…

首套真题解析!安徽211难度适中!两门课!

这个系列会分享名校真题。并做详细解析&#xff01;此为24年第一套&#xff01; 今天分享的是22年合肥工业856的信号与系统试题及解析。 小马哥Tips&#xff1a; 本套试卷难度分析&#xff1a;本套试题内容难度中等&#xff0c;里面较多的考察了信号与系统的知识&#xff0c…

[Python]用Qt6和Pillow实现截图小工具

本文章主要讲述的内容是&#xff0c;使用python语言借助PyQt6和Pillow库进行简单截图工具的开发&#xff0c;含义一个简单的范围裁剪和软件界面。 主要解决的问题是&#xff0c;在高DPI显示屏下&#xff0c;坐标点的偏差导致QWidget显示图片不全、剪裁范围偏差问题。 适合有一点…

基于 Redis 实现分布式锁的全过程

前言 这一篇文章拖了有点久&#xff0c;虽然在项目中使用分布式锁的频率比较高&#xff0c;但整理成文章发布出来还是花了一点时间。在一些移动端、用户量大的互联网项目中&#xff0c;经常会使用到 Redis 分布式锁作为控制访问高并发的工具。 一、关于分布式锁 总结&#x…

QT 信号和槽教程,窗体和控件对象之间的沟通一般都使用信号和槽

Qt的信号和槽&#xff08;Signals and Slots&#xff09;机制是一种强大的对象间通信方式&#xff0c;它允许对象在完全解耦的情况下相互通信。以下是关于Qt信号和槽的简明教程&#xff1a; 基本概念 信号&#xff08;Signal&#xff09;&#xff1a;信号是由Qt对象发出的通知…

OpenAI已全面开放自定义GPT以及文件上传等功能

今天&#xff0c;OpenAI兑现了前段时间做出的承诺&#xff1a;免费向所有用户开放GPT-4o。这意味着所有的免费用户都能使用自定义GPT模型、分析图表等其他GPT-4o新功能了。现在ChatGPT界面长这样&#xff1a; 可以看出&#xff0c;免费用户也能使用GPT store中定义好的模型&…