iOS开发——C篇&文件操作
2015-07-17 13:28 Phoenix-Hui 阅读(1130) 评论(0) 编辑 收藏 举报
今天开始C语言中的重点难点就基本上技术忘了,但是还有最后一个知识点不得不提,那就是文件操作。
我们都知道,我们每天都在使用电脑,手机,或者其他电子或者移动设备,其实我们在使用的时候每时每刻都在执行文件操作这异一步,只是这里面的细节我们可能清楚,那么今天我就来给大家讲讲什么是C语言的文件操作。
一:文件操作介绍
文件操作:通过程序操作文件
读:文件-〉内存
写:内存-〉文件
文件(file)其实就是存储在外部介质上数据的集合,我们就是使用相应的技术来对他让他实现我们想要达到的结果。
程序中经常有大量对文件的输入输出操作,它经常构成了程序的主要部分,因而C语言提供了很多输入输出的函数,它们分别用于两种类型文件输入输出系统:即由 ANSI标准定义的缓冲文件(也称标准文件(流)输入输出(I/O)系统);另一类是ANSI标准中没有定义的非缓冲文件(也称非标准文件(流)输入输出 (I/O)系统)。
这里需要使用一个头文件:stdlib.h
二:文件操作应用
1.打开一个文件
打开文件的时候有三个参数需要注意的:r(只读),w(写),a(追加)
#include <stdio.h>
main()
{
File *fp = fopen()先写一个文件
FILE *fp; /*定义一个文件指针*/
int i;
fp=fopen("wenjian", "rb"); /*打开当前目录名为wenjian的文件只读*/
if(fp==NULL) /*判断文件是否打开成功*/
puts("File open error");/*提示打开不成功*/
i=fclose(fp); /*关闭打开的文件*/
if(i==0) /*判断文件是否关闭成功*/
printf("O,K"); /*提示关闭成功*/
else
puts("File close error");/*提示关闭不成功*/
}
2.运行后产生一个text.dat的文件
#include<stdio.h>
main()
{
char *s="That's good news"); /*定义字符串指针并初始化*/
int i=617; /*定义整型变量并初始化*/
FILE *fp; /*定义文件指针*/
fp=fopne("test.dat", "w"); /*建立一个文字文件只写*/
fputs("Your score of TOEFLis", fp);/*向所建文件写入一串字符*/
fputc(':', fp); /*向所建文件写冒号:*/
fprintf(fp, "%d\n", i); /*向所建文件写一整型数*/
fprintf(fp, "%s", s); /*向所建文件写一字符串*/
fclose(fp); /*关闭文件*/
}
关于拷贝一个文件,我只要先读到内存中,再写到另一个文件就可以实现了,当然还有其他的方法。。。。。!
三:文件操作总结
一批数据以文件的组织形式可以存放在外部介质(主要为磁盘,光盘等)上,也可从介质上读入内存.操作系统是以文件为单位对数字进行管理的.而各种C 的文件系统对其文件则可进行直接操作
由于程序中经常有大量对文件的输入输出操作,它经常构成了程序的主要部分,因而C语言提供了很多输入输出的函数,它们分别用于两种类型文件输入输出系统: 即由ANSI标准定义的缓冲文件(也称标准文件(流)输入输出(I/O)系统);另一类是ANSI标准中没有定义的非缓冲文件(也称非标准文件(流)输入 输出(I/O)系统)
下面是一些C最常用文件操作函数:
- fopen() 打开流
- fclose() 关闭流
- fputc() 写一个字符到流中
- fgetc() 从流中读一个字符
- fseek() 在流中定位到指定的字符
- fputs() 写字符串到流
- fgets() 从流中读一行或指定个字符
- fprintf() 按格式输出到流
- fscanf() 从流中按格式读取
- feof() 到达文件尾时返回真值
- ferror() 发生错误时返回其值
- rewind() 复位文件定位器到文件开始处
- remove() 删除文件
- fread() 从流中读指定个数的字符
- fwrite() 向流中写指定个数的字符
- tmpfile() 生成一个临时文件流
- tmpnam() 生成一个唯一的文件名