Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26410
  • 博文数量: 41
  • 博客积分: 185
  • 博客等级: 入伍新兵
  • 技术积分: 260
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-20 13:48
文章分类

全部博文(41)

文章存档

2013年(20)

2012年(21)

我的朋友
最近访客

分类: C/C++

2013-01-08 09:50:23

文件打开关闭函数:fopen()和fclose()
字符读写函数 :fgetc()和fputc()
字符串读写函数:fgets()和fputs()
数据块读写函数:fread()和fwrite()
格式化读写函数:fscanf()和fprinf()
随机读写文件:rewind(*fp),使文件位置标记指向文件开头;fseek(文件类型指针,位移量,起始点),如fseek(fp,100L,0)<起始点->'0'代表文件开始位置,‘1’文件当前位置,‘2’文件末尾位置>。
说明:从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。
    ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。ASCII码文件可在屏幕上按字符显示。
    二进制文件是按二进制的编码方式来存放文件的。 二进制文件虽然也可在屏幕上显示,但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。 因此也把这种文件称作“流式文件”。从网上搜到的代码如下:
/********************************************************************
    created:    2008/11/04
    created:    4:11:2008   19:58
    filename:     D:/firefox/Interview/read_write_file/main.c
    file path:    D:/firefox/Interview/read_write_file
    file base:    main
    file ext:    c
    author:        HaiBin Kuang
   
    purpose:    文件的读写函数的使用,主要包括fputs(),fgets(),fputc()
    ,fgetc(),fread(),fwrite(),fprintf(),fscanf();等。
***************************************************************
#include   
#include
int
main()
{
    FILE *fp_write,*fp_read;
    int i=328,j=3;
    int a[3]={1,2,3},n[3]={7,8,9};
    char s[50],*temp="this is good news.",m[20],ch;
/*
 *    以下代码主要是对文件的写操作,主要使用函数有:fprintf(),fputs(),fputc(),
 */   
    if ((fp_write=fopen("hello.dat","wb"))==NULL)
        {
            printf("Open file failure!/n");
            return 0;
        }
        fputs("Your score of TOEFL ",fp_write);
        fputc(':',fp_write);
        fprintf(fp_write,"%d/n",i);
        fprintf(fp_write,"%s",temp);   
        fclose(fp_write);
/*
 *    以下代码主要是对文件的读操作,主要使用函数有:fscanf(),fgets(),fgetc(),
 */   
       
    if ((fp_read=fopen("hello.dat","rb"))==NULL)
    {
        printf("Open file failure!/n");
        return 0;
    }
    fgets(s,21,fp_read);
    printf("%s",s);
    fscanf(fp_read,"%d",&j);
    printf("%d",j);
    putchar(fgetc(fp_read));
    fgets(m,19,fp_read);
    puts(m);
    fclose(fp_read);
 
/*
 *    以下程序主要是fwrite(),fread()两个函数的使用
 */
    if ((fp_write=fopen("1.txt","w"))==NULL)
    {
        printf("1:Open file failure!/n");
        return 0;
    }
    fwrite(a,sizeof(int),3,fp_write);
    fclose(fp_write);
    if ((fp_read=fopen("1.txt","r"))==NULL)
    {
        printf("2:Open file failure!/n");
        return 0;
    }
    for (j=0;j<3;j++)
    {
        printf("%d ",n[j]);
    }
    printf("/n");
    for (j=0;j<3;j++)
    {   
        fread(n+j,sizeof(int),1,fp_read);
        printf("%d ",n[j]);
    }
    fclose(fp_read);
    return 0;
/*
 *    fgetc()与putchar()的使用。打印本程序main.c
 */
    if((fp_read=fopen("main.c","r"))==NULL)
    {
    printf("Cannot open file strike any key exit!");
    getch();
    return 0;
    }
    ch=fgetc(fp_read);
    while (!feof(fp_read))
    {
    putchar(ch);
    ch=fgetc(fp_read);
    }
    fclose(fp_read);
    getch();
    return 0;
}
 
阅读(212) | 评论(0) | 转发(0) |
0

上一篇:折半查找法

下一篇:年月日问题

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