Chinaunix首页 | 论坛 | 博客
  • 博客访问: 827584
  • 博文数量: 168
  • 博客积分: 5431
  • 博客等级: 大校
  • 技术积分: 1560
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-22 11:56
文章存档

2015年(2)

2014年(1)

2013年(12)

2012年(12)

2011年(15)

2010年(5)

2009年(16)

2008年(41)

2007年(64)

分类: LINUX

2007-11-16 11:08:05

stream I/O系统
   
    我们在读取文件的内容的时候可以采用多种方式,最常用,通用的一种方式就是以stream的方式来获取文件的内容。stream I/O是由一系列的API组成的。这些API的名字前面都有一个f字母。例如:fget,fopen,fread,fseek,fclose等等。详细的API使用的时候可以查看帮助文档。下面简单介绍它们的使用方法。
   
    FILE* fp = fopen("/home/stephen.txt", "r");//只读方式打开文件
    unsigned char buf[100];
    int bytes = fread(buf, 100, fp);            //也可以使用fgets,getw等等来读取指定大小的文件内容
    fseek(fp, 0, SEEK_SET);                     //将文件的偏移量设置到文件开头
   
    以上是使用的基本知识,下面介绍一个获取文件大小简单的方法(在特定的系统环境下可以使用系统信息。例如:Linux的inode文件信息结构中会有这个信息,这个实例针对的是一般的情况)。

unsigned int filesize(FILE *fp)
{
 unsigned int pos;
 unsigned int pos_cur;
 pos_cur=ftell(fp);
 fseek(fp,0,SEEK_END);
 pos=ftell(fp);
 fseek(fp,pos_cur,SEEK_SET);
 return pos;
}
   
    这里当作抛砖引玉,基本到不能基本了,呵呵,入门以后自己学习吧!
阅读(1247) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~