八月六日 Linux操作系统学习笔记

来源:互联网 发布:linux samba进程 编辑:程序博客网 时间:2024/05/19 12:14

流的相关内容:

fopen:可以指定打开文件的路径和模式。

         函数原型:FILE*fopen(const char *path,const char *mode)

         Path:包含要打开的文件路径及文件名  mode:文件打开方式

打开方式参数如下:

r或rb 打开只读文件,该文件必须存在。

r+或r+b 打开可读写的文件,该文件必须存在。

w或wb 打开只写文件,若文件存在则会删除以前的内容;不存在则会建立该文件。

w+或w+b 打开可读写文件,若文件存在则会删除以前的内容;不存在则会建立该文件。

a或ab 以附加方式打开只写文件。若文件不存在则会建立该文件;若文件存在,写入的数据会被加到文件尾,即原先的文件内容会得到保留。

a或ab 以附加方式打开可读写文件。若文件不存在则会建立该文件;若文件存在,写入的数据会被加到文件尾,即原先的文件内容会得到保留。

 

fdopen():可以指定打开的文件描述符和模式。

freopen():可以指定打开的文件、模式、特定的I/O流。如:freopen("file_e","w",stdout)

 

fclose 该函数将流的缓冲区内的数据全部写入文件中,并释放相关的资源。

         函数原型:intfclose(FILE *stream);  如:fclose(fp);

perror 错误处理相关函数  如perror("freopen");

 

fread():对文件流按指定大小为单位进行读操作

         函数原型size_tfread(void *ptr,size_t size,sie_t nmemb,FILE *stream)

         ptr:存放读入记录的缓冲区        size:读取的每个记录的大小

         nmemb:读取的记录数                 stream:要读取的文件流

 fwrite():对文件流按指定大小为单位进行读操作

         函数原型size_tfwrite(void *ptr,size_t size,sie_t nmemb,FILE *stream)解析如上

 

fprintf  sprintf重点掌握

 

 

每个一秒钟显示当前的时间值并将时间值写入text文件中:

#include <time.h>

 

int main()

{

         FILE*fp;

         structtm *p;

         time_tt;

         if((fp=fopen("text","w+"))==NULL)

         {

                   perror("freopen");

                   return-1;

         }

        

         while(1)

         {       

                   t= time(NULL);                 

                   p= localtime(&t);             

                   fprintf(fp,"%d-%d-%d%d:%d:%2d\n",p->tm_year+1900,p->tm_mon+1,p->tm_mday,p->tm_hour,p->tm_min,p->tm_sec);

                   printf("%d-%d-%d%d:%d:%2d\n",p->tm_year+1900,p->tm_mon+1,p->tm_mday,p->tm_hour,p->tm_min,p->tm_sec);

                   fflush(fp);

                   sleep(1);

         }

         fclose(fp);

         return0;

}

0 0
原创粉丝点击