Chinaunix首页 | 论坛 | 博客
  • 博客访问: 252170
  • 博文数量: 52
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 625
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-03 08:39
文章分类
文章存档

2011年(4)

2010年(5)

2009年(6)

2008年(37)

我的朋友

分类: C/C++

2008-04-05 17:47:51

近来正在做毕业设计,文件系统,当然要用到一些对于文件的操作,我把经常用到的一些对文件和字符串操作函数整理了一下:
 
fopen():
  FILE *fp;
  fp=fopen("stu","r");
  a)凡用r打开一个文件时,该文件必须存在.
  b)用w打开文件,若文件不存在,则建立该文件,若已存在,则删除该文件,并新建一个文件.
fclose():
  fclose(fp);
fgetc():读字符函数
  char ch=fgetc(fp);其意义是从打开的fp所指的文件中读一个字符并送到ch中.对于文本文件,遇到文件尾时返回EOF,对于二进制文件,用feof(fp)来判断是否遇到文件尾.feof(fp)=1则说明遇到文件尾.在文件打开时,该指针总是指向文件的第一个字节,使用fgetc函数后,该位置自动向后移动一个字节.
fputc():写字符函数
FILE *fp;
fputc('a',fp);
功能是把字符写入fp所指向的文件,用写或读写方式打开一个已存在的文件时将清除原来的文件内容,写入字符从文件首开始.若需保留原有文件内容,希望写入的字符以文件末开始存放,必须以追加方式打开文件.被写入的文件不存在,则创建该文件.
fgets():读字符串函数
功能是从指定的文件中读一个字符串到字符数组中.
FILE *fp;
fp=fopen("string.txt","rt");
char str[10];
fgets(str,5,fp);
其意义是从fp所指的文件string.txt中读取4个字符送入字符数组str中.
fputs:写字符串数组fputs
功能是想指定的文件写入一个字符串.
fputs("abcd",fp);
其意义是把字符串"abcd'写入fp所指的文件之中.
fscanf(),fprintf():格式化读写函数
fscanf(文件指针,格式字符串,输入列表);
功能是从文件指针所指向的文件中按照格式字符串指定的格式将输入的数据送到输入列表所指定的地址单元中.
fscanf(fp,"%d,%f",&i,&f);
如果磁盘上有数据9,6.5,则将磁盘文件上的数据9送给整型变量i,数据6.5送给实型变量f.
fprintf():功能是将输出表列中的变量值按照格式字符串指定的格式输出到文件指针所指向的文件中.
fprintf(fp,"%d,%f",i,f);
如果有i=9,f=6.5,则将整型变量i(9)的值和实型变量f(6.5)的值按照"%d,%f"的格式输出到fp所指向的文件中,即文件中存有9,6.500000.
fread和fwrite:数据块读写函数
fread(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
buffer是一个指针,在fread函数中,它表示存放输入数据的首地址.在fwrite函数中,它表示存放输入数据的首地址.
fread函数的功能是:对fp所指向的文件读取count次,每次读取一个大小为size的数据块,将读取的各数据块存到buffer指向的内存区.该函数的返回值是实际读取的count值.
float fa[5];
fread(fa,4,5,fp);
其意义是从fp所指的文件中,每次读4个字节(一个实数)送入实型数组fa中,连续读5此,即读5个实数到fa中.
fwrite的功能是:读buffer所指向的内存区中读取count次,每次读取一个大小为size的数据块,将读取到的各数据块写入fp所指向的文件中.
float fa[5];
fwrite(fa,4,5,fp);
其意义是从fa实型数组中,每次读4个字节(一个实数)写入fp所指的文件中,连续读写5次,即将5个实数写到fp所指向的文件中.
rewind函数:
rewind(文件指针)功能是把文件内部的位置指针移到文件的开始位置.
fseek函数;
fseek(文件指针,位移量,起始点);
"文件指针"指向被移动的文件.
"位移量"表示移动的字节数,为long型数据.
"起始点"表示从何处开始计算位移量,规定有三种:文件首,当前位置,文件尾.
其功能是将文件指针所指向的文件的位置指针移动以起始点的位置为基准,大小为位移量的距离.
字符串处理函数:
puts(str);  输出
gets(str);  输入
strcat(s[],str); 将字符串连接到数组中的串后面
srcpy(s[],str); 复制字符串到字符数组
strcmp(str1,str2); 比较
strlen(str);  字符串长度
阅读(941) | 评论(0) | 转发(0) |
0

上一篇:判断子串

下一篇:一个简单的文件系统

给主人留下些什么吧!~~