【C语言】文件操作(二)

简介: 【C语言】文件操作(二)

lso66px3532di_fa873c03d3f94857a3befa9c5fdd52e3.png

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤

📃个人主页 阿然成长日记 👈点击可跳转

📆 个人专栏: 🔹数据结构与算法🔹C语言进阶

🚩 不能则学,不知则问,耻于问人,决无长进

🍭 🍯 🍎 🍏 🍊 🍋 🍒 🍇 🍉 🍓 🍑 🍈 🍌 🍐 🍍

📌补充

1.sprintf

功能:把一个格式化数据(不是数据流)转化成字符串

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
struct S
{
  int a;
  float b;
};
int main()
{
  struct S s = { 1,2.22f };
  char a[20] = { 0 };
  sprintf(a, "%d %f", s.a, s.b);
  //sscsanf(s, "%d %f", &(s.a), &(s.b));
  //printf("%d %f", s.a, s.b);
  printf("%s", a);
  return 0;
}

2.sscanf

字符串中读取格式化的数据

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
struct S
{
  int a;
  float b;
};
int main()
{
  struct S s = { 3,4.444};
  char a[20] = { 0 };
  struct S tmp = { 0 };
  sprintf(a, "%d %f", s.a, s.b);
  sscanf(a, "%d %f", &(tmp.a),&(tmp.b));
  printf("%d %f", s.a, s.b);
  //printf("%s", a);
  return 0;
}

将字符数组a中的数据转化成结构体。

🃏五、文件的随机读写

1.fseek函数

int fseek ( FILE * stream, long int offset, int origin );

功能:根据文件指针的位置和偏移量来定位文件指针

默认是从文件第一个位置开始。

2.ftell函数

long int ftell ( FILE * stream );

功能;返回文件指针相对于起始位置的偏移量

3.rewind函数

void rewind ( FILE * stream );

功能:让文件指针的位置回到文件的起始位置

📮六、文本文件和二进制文件

1.文本文件

如果要求在外存上以ASCII码的形式存储,则需要在存储前转换。以ASCII字符的形式存储的文件就是文 本文件。

2.二进制文件

数据在内存中以二进制的形式存储,如果不加转换的输出到外存,就是二进制文件。

3.查看二进制文件方式:

1.先添加文件到源文件

2.右击打开方式

3.选择二进制编辑器

由于vs2019是小端存储,所以结果为10 27 00 00 .

📢七、文件读取结束的判定

在文件读取过程中,不能用feof函数的返回值直接用来判断文件的是否结束。

feof函数应用于当文件读取结束的时候,判断是读取失败结束,还是遇到文件尾结束。

  1. 文本文件读取是否结束,判断返回值是否为 EOF ( fgetc ),或者 NULL ( fgets ) 例如: fgetc 判断是否为 EOF . fgets 判断返回值是否为 NULL .>
  2. 二进制文件的读取结束判断,判断返回值是否小于实际要读的个数。 例如: fread 判断返回值 是否小于实际要读的个数 。

📢八、文件缓冲区

  • ANSIC 标准采用 “ 缓冲文件系统 ” 处理的数据文件的,所谓缓冲文件系统是指系统自动地在内存中为程序中每一个正在使用的文件开辟一块 文件缓冲区
  • 从内存向磁盘输出数据会先送到内存中的缓冲区, 装满
    缓冲区后才一起送到磁盘上。如果从磁盘向计算机读入数据,则从磁盘文件中读取数据输入到内存缓冲区( 充满缓冲区),然后再从缓冲区逐个地将数据送到程序数据区(程序变量等)。
  • 缓冲区的大小根据C 编译系统决定的。

各位看官老爷,咱下回再见!

别忘了点赞关注加评论哟

💙 💜 ❤️ 💚 💔 💓 💗 💕 💞 💘 💖 ✨ ⭐️ 🌟


相关文章
|
1月前
|
存储 编译器 C语言
关于文件操作---C语言
关于文件操作---C语言
|
1月前
|
存储 程序员 C语言
C语言-文件操作
C语言-文件操作
53 2
|
2月前
|
安全 算法 程序员
【C/C++ 文件操作】深入理解C语言中的文件锁定机制
【C/C++ 文件操作】深入理解C语言中的文件锁定机制
49 0
|
2月前
|
存储 编译器 数据库
【文件操作】C语言
【文件操作】C语言
|
2月前
|
存储 程序员 C语言
【进阶C语言】C语言文件操作
【进阶C语言】C语言文件操作
43 0
|
2月前
|
C语言
C语言文件操作
C语言文件操作
18 0
C语言文件操作
|
2月前
|
C语言
C语言文件操作
C语言文件操作
|
1月前
|
存储 程序员 编译器
【C语言】深度探讨文件操作(一)
【C语言】深度探讨文件操作(一)
|
2天前
|
存储 编译器 C语言
C语言中的文件操作指南
C语言中的文件操作指南
8 0
|
8天前
|
算法 C语言
【C 言专栏】C 语言文件操作的技巧与方法
【4月更文挑战第30天】本文介绍了C语言文件操作的关键技巧,包括文件的打开与关闭(使用`fopen`和`fclose`函数),读取(`fgetc`、`fgets`和`fread`)和写入(`fputc`、`fputs`和`fwrite`)操作。此外,还讨论了文件指针移动(`fseek`)、错误处理、文件权限和格式等问题。文中提供了一个简单的读写文件的示例,并提到了高级技巧如随机访问、文件缓冲和截断。掌握这些技能将有助于提升C语言编程中的文件处理能力。