c语言中的文件
来源:互联网 发布:freeswitch java 编辑:程序博客网 时间:2024/06/15 07:21
用计算机程序解决实际问题时,在待处理豁得出结果的数据量较大情况下,一般采用读写外部存储介质(如光盘,磁盘,u盘)中的数据。数据一般是以文件组织的形式存储。因此,读写数据就是读写外存中的文件数据。
文件的定义:
相关数据的集合。计算机中的程序数据,文档通常都组织成文件存放在外存储器中,由于输入输出设备具有字节流特征,所以操作系统也罢他们看作文件。
缓冲文件系统;
系统在主存中开辟的,用来临时存放输入输出数据的区域,称为输入输出缓冲区(简称缓冲区)。例如,现将输入的信息送到缓冲区,然后从韩冲去取出数据。
文件的打开与关闭;
文件在读写之前应该“打开”,在使用结束之后应该及时“关闭”。
1.文件的打开
fopen ()是ANSI C 标准函数库stdio.h中声明的函数,用于打开文件,其原型为:
FILE *fopen(const char *filename ,const char *mode);
该函数的功能是:一mode制定的方式打开由filename指定的文件。若打开成功,则返回一个与所指文件相关联的字节流文件指针,用于后续的文件操作。若打开出错,则返回一个空指针(NULL)
例如:
FILE *fp=fopen("f.txt","r");
表示函数fopen以“r"(只读)方式打开名为f.tet的文件,并将返回的指向f.tet文件的字节流文件指针赋给fp。这样fp就对文件f.tet相关联,然后就可以通过fp对f.txt进行操作。
说明:
(1)用filename 表示要打开的文件名时,文件名前面可以带盘符和路径。例如:
FILE *fp=fopen("c:\\my\\f.txt","r");
(2)打开指定文件后,对指定文件操作前,应该先判断指定文件是否被打开。例如:
FILE *fp=fopen("c:\\my\\f.txt","r");
if(fp==NULL)
{
printf("Cannot open this file!\n");
exit 1; //关闭所有文件,终止程序执行;
}
2.文件的关闭:
在指定文件使用结束后及时关闭,以使文件指针与文件”脱钩“,释放它所占有的系统资源,防止文件丢失数据或被误用。关闭文件使用fclose函数;
fclose 是ANSI C 标注库函数stdio.h中声明的函数,其原型为:
int close(FILE *p);
它的功能是关闭与文件指针fp关联的文件,调用成功返回0,否则,返回EOF(-1)。
3.文本文件的读写:
例如:将一行字符逐个写入文件cx.txt:
#include <stdio.h>int main() {FILE *fp; // 定义文件指针char ch;if((fp=fopen("cx.txt","w"))==NULL){ printf("cannot open this file\n");exit (0);} ch = getchar();while(ch != '\n'){fputc(ch, fp);ch =getchar();}fclose(fp);printf("\n");return 0;}
#include <stdio.h>#include <stdlib.h>int main(){FILE *in;FILE *out;char infile[256];char outfile[256];char c;printf("源文件名?");scanf("%s",outfile);printf("目标文件名?");scanf("%s",outfile);if((in = fopen(infile, "r"))==NULL){ printf("无法打开输入文件%s\n",infile);exit (1);} if((out = fopen(outfile, "r"))==NULL){ printf("无法打开输入文件%s\n",outfile);exit (1);} c = fgetc(in);while(c != EOF){fputc(c, out);c =fgetc(in);}fclose(in);fclose(out);return 0; }
文件打开方式
w: 打开一个文本文件只写
a: 对一个文本文件添加
rb: 打开一个二进制文件只读
wb 打开一个二进制文件只写
ab: 对一个二进制文件添加
r+: 打开一个文本文件读/写
w+: 生成一个文本文件读/写
a+: 打开一个文本文件读/写
rb+: 打开二进制文件读/写
wb+: 生成二进制文件读/写
ab+: 打开二进制文件读/写
- C语言中的文件
- c语言中的文件
- c语言中的头文件
- c语言中的文件读写
- C语言中的文件操作
- C语言中的文件包含
- C语言中的文件流
- C语言中的文件流
- C语言中的头文件
- c语言中的头文件
- c语言中的头文件
- C语言中的文件流
- C语言中的头文件
- C语言中的文件操作
- C语言中的文件操作
- C语言中的文件流
- C语言中的文件操作
- C语言中的文件操作
- Android Studio导入项目慢
- 完美解决VS2010链接错误:LINK:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- C#中listview分页(动软代码生成器)
- 欢迎使用CSDN-markdown编辑器
- android图片加载哪家强
- c语言中的文件
- 类与对象的理解
- redis和memcache的区别
- Mpeg-2的同步及时间恢复--STC,PCR,DTS,PTS
- 快速幂模板
- Retrofit + Rxjava 学习1
- ViewStub的使用分析
- STM32的启动模式
- 二维联合分布的密度函数计算