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;
}
这里当作抛砖引玉,基本到不能基本了,呵呵,入门以后自己学习吧!
阅读(1289) | 评论(0) | 转发(0) |