当前位置:网站首页>利用文件保存数据(c语言)
利用文件保存数据(c语言)
2022-04-23 05:48:00 【Chshyz】
将数据储存到本地文件
环境:CentOS7
后附常用文件操作函数和功能表
文件后缀
.doc(Word文件)、.txt(文本文件)、.dat(数据文件)、.c(C语言源程序文件)、.cpp(C++源程序文件)、.for(FORTRAN语言源程序文件)、.pas(Pascal语言源程序文件)、.obj(目标文件)、.exe(可执行文件)、.ppt(电子幻灯文件)、.bmp(图形文件)、.jpg(图像文件)。
文件类型
- 程序文件(可执行)
- 数据文件(ASCII文件和二进制文件)
①ASCII文件:文本文件,每一个字节存放一个字符ASCII代码(字符型、数值型)。
②二进制文件:把内存中的数据按原来的样子输出到磁盘上存储(数值型)。
例子:输入10000
ASCII形式输出到磁盘(5字节)
二进制形式输出到磁盘(2字节)
文件指针
每个使用过的文件都在内存中开辟出一个相应的文件信息区存放文件相关信息。这些信息存在一个结构体变量(FILE)中。
例:FILE * fp
打开和关闭文件
- 打开数据文件(fopen)
fopen (文件名,使用文件方式);
例:
FILE * fp; #定义一个文件指向变量fp
fp = fopen (“a”, “r”); #将fopen函数的返回值赋给fp - 关闭文件(fclose)
fclose (文件指针)
例:fclose (fp);
PS:
使用 | 意思 |
---|---|
r | 只读(ASCII文件) |
w | 只写(ASCII文件) |
a | 追加(向ASCII文件尾添加数据) |
rb | 只读(二进制文件) |
wb | 只写(二进制文件) |
ab | 追加(向二进制文件尾添加数据) |
r+ | 读写(打开一个ASCII文件读写) |
w+ | 读写(建立一个新的ASCII文件) |
a+ | 读写(ASCII文件) |
rb+ | 读写(二进制文件) |
wb+ | 读写(二进制文件) |
ab+ | 读写(二进制文件) |
示例1:输入内容再送到磁盘
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE * fp;
char ch, filename[10];
printf ("请输入文件名:");
scanf ("%s", filename);
if ((fp = fopen (filename, "w")) == NULL) {
printf ("无法打开\n");
exit (0);
}
ch = getchar();
printf ("请输入内容,以#号结束:");
ch = getchar();
while (ch != '#') {
fputc (ch, fp);
putchar (ch);
ch = getchar ();
}
fclose (fp);
putchar (10);
return 0;
}
[root@chenshuyi c]# gcc -o fputc fputc.c
[root@chenshuyi c]# ./fputc
请输入文件名:one
请输入内容,以#号结束:happy every days!#
happy every days!
[root@chenshuyi c]# cat one
happy every days!
版权声明
本文为[Chshyz]所创,转载请带上原文链接,感谢
https://blog.csdn.net/HelloWorld_4396/article/details/120313726
边栏推荐
- Rust 中的 Cell 共享可变指针
- Import of data
- [leetcode 150] evaluation of inverse Polish expression
- Guaba and Computational Geometry
- Cf515b drazil and his happy friends
- H. Are You Safe? Convex hull naked problem
- scikit-learn sklearn 0.18 官方文档中文版
- Example of reentrant lock thread waiting to wake up
- Integration and induction of knowledge points of automatic control principle (Han min version)
- 爬虫效率提升方法
猜你喜欢
随机推荐
D. Optimal partition segment tree optimization DP
[leetcode 290] word rules
Detection technology and principle
Feign请求日志统一打印
Collection and map thread safety problem solving
Rainbow (DP)
Use of multithreaded executors
爬取彩票数据
1006 finding a mex (hdu6756)
[leetcode 6] zigzag transformation
Rust:如何 match 匹配 String 字符串?
Robocode教程3——Robo机器剖析
Basemap库绘制地图
Export of data
MySQL table constraints and table design
Easy to use data set and open source network comparison website
Motor and drive (Qi Jinqing Edition)
Type conversion in C #
如何安装jsonpath包
[leetcode 19] delete the penultimate node of the linked list