c语言文件操作总结

#include<stdio.h>

/************************************************************************/
//    FILE *fopen(const char *filename,const char *mode)
// FILE *freopen(const char *filename,const char *mode,FILE *stream)以指定模式打开文件,并将文件关联到stream流中
/*  r 打开文件用于读
    w 创文本用于写,如果存在文本,则删除文本内容,然后写
    a 打开文本或者创建文本用些追加写
    r+打开文本用于更新,即读和写
    w+ 打开文本用于更新,并删除已经存在的内容
    a+ 打开文本用于更新,写文件追加到末尾
后3中更新模式,支持对同一文件进行读写,在同读写交叉的操作,需要用fflush来刷新文件内容
rb  w+b表示对二进制文件进行操作
//将文件读/写指针移到距文件头100字节处
  fseek( fp,  100L, SEEK_SET );
//将文件读/写指针从当前位置向文件尾方向移50字节
  fseek( fp,   50L, SEEK_CUR );
//将文件读/写指针从当前位置向文件头方向移50字节
  fseek( fp,  -50L, SEEK_CUR );
//将文件读/写指针从文件尾回移100字节
  fseek( fp, -100L, SEEK_END );                                                    */
/************************************************************************/
int main(){
    FILE *fp;
    int re =1;
    int re2 = 10;
    char c ;
    char str[50];
    int iFC = -1;
    int cnt = 0;
    memset(str,0x00,sizeof(str));
    fp = fopen("d:\\t2.txt","a+");

    //文件按行读取
    while (!feof(fp))
    {
        cnt++;
        printf("第%d行\n",cnt);
        /**原型是:char *fgets(char *s, int n, FILE *stream);从文件指针stream中读取n-1个字符,存到以s为起始地址的空间里,直到读完一行,如果成功则返回s的指针,否      则返回NULL。*/
        fgets(str,100,fp);
        printf("%s\n",str);
        if (cnt==1)
        {
            fgets(str,100,fp);
            printf("%s",str);
            break;
        }
    }

    printf("*****************\n");
    fseek( fp,  -2L, SEEK_END );
    c = getc(fp);
    printf("fp = [%c]\n",c);
    printf("*****************\n");
//     //末尾插入e
//     fseek( fp,  0L, SEEK_END );
//     putc(‘e‘,fp);

    //单个字符打印内容
    fseek( fp,  0L, SEEK_SET );
    c = getc(fp);
    while(c != EOF){
        printf("fp = [%c]\n",c);
        c = getc(fp);
        //char是5多打印一次
        if(c == ‘5‘){
            fseek(fp,-1L,SEEK_CUR);
            printf("fp = [%c]\n",c);
            fseek(fp,1L,SEEK_CUR);
        }
    }

    //从头开始读取5个字节(实取4个)
    fseek( fp,  0L, SEEK_SET);
    fgets(str,59,fp);//sizeof is 5, strlen is 4  because of ‘\0‘
    printf("str--------> = [%s]\n",str);

    //从头开始读取6个字节
    fseek( fp,  0L, SEEK_SET);
    fread( str, 3, 2, fp );  //参数3 size_t表示每个数据项包含的字节数
    printf("str = [%s]\n",str);

    //文件尾写入endEND
    fseek( fp,  0L, SEEK_END);
    fputs("end",fp);
    fseek( fp,  0L, SEEK_CUR);
    fwrite("END",3,1,fp);
    fseek( fp,  0L, SEEK_END);
    //   int getline(char s[],int lim)
  //    fp->getline(str,0);
    //文件关闭
    iFC = fclose(fp);
    if (iFC)
    {    printf("Failed to close file!");

    }

}
时间: 2024-12-26 17:30:56

c语言文件操作总结的相关文章

C语言文件操作函数的编写

 编写文件操作的头文件 /************************************************************************** Copyright(C)    :2014-08-5 toto Filename       :file.h Author          :涂作权 Version         :V1.1 Date            :2014-08-05 Description     :文件操作的头文件 Others  

C 语言文件操作

1. 数据流:     程序与数据的交互以流的形式进行.fopen 即打开数据流,fclose 即刷新数据流.     所谓数据流,是一种抽象,表示这段数据像流一样,需要逐步接收,不能随机存取:也意味着是一段连续的内容,每块数据之间的顺序是确定的.比如一个很大的文件,不能一次性加载到内存里面,无法直接获取文件任意位置的内容,只能逐渐加载到内存.     比如 TCP 被抽象为 stream 而 UDP 被抽象为 block.     2. 缓冲区:     fopen 时, 磁盘 --> 缓冲区

c语言文件操作函数

c语言文件操作函数大全 fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const char * mode); 函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态. mode有下列几种形态字符串: r 打开只读文件,该文件必须存在. r+ 打开可读写的文件,该文件必须存在. w 打开只写文件,若文件存在则文件长度清为0,即该文件

go语言文件操作,这期资料比较详细( 欢迎加入go语言群: 218160862 )

go语言文件操作,这期资料比较详细 欢迎加入go语言群: go语言深圳群 golang深圳 218160862 文件操作 func Open(name string) (file *File, err error),*File 是实现了 io.Reader这个接口byte[] 转化为 bytes.Buffer:bytes.NewBuffer([]byte). 一.建立与打开 建立文件函数:func Create(name string) (file *File, err Error)func N

C语言文件操作(一)

实例1:读写字符文件,每次读取一个字符. #include<stdio.h> #include <stdlib.h> int main() { FILE *fpin ; FILE *fpout; char c; fpout=fopen("c:\\dest.txt","wt"); if((fpin=fopen("c:\\test.txt","rt"))!=NULL) { c = fgetc(fpin);

C语言文件操作(二)

实例2:读取字符文件,每次读入一个缓存里面. #include<stdio.h> #include <stdlib.h> #define MAXLEN 1024 int main() { FILE *fin; FILE *fout=fopen("c:\\dest.txt","wt"); char buf[MAXLEN]; if((fin=fopen("c:\\test.txt","rt"))!=NULL

C语言文件操作(三)

实例3:读写字节文件,每次读入一个缓存里面. #include<stdio.h> #include <stdlib.h> #define MAXLEN 1024 int main() { FILE *fpin ; FILE *fpout; unsigned char buf[MAXLEN]; int c; fpout=fopen("c:\\dest.jpg","wb"); if((fpin=fopen("c:\\test.jpg&q

C语言文件操作(四)

实例四:随机读写.在C:\\TEST.TXT 文件中创建如下字符串:我爱你,中国 使用随机读写,输出"中国"两个字,以为中文字符占两个字节,所以要从文件首部向后偏移7个字节,逗号是英文字符,占用一个字节. #include<stdio.h> #include <stdlib.h> int main() { FILE *fp ; char c; if((fp=fopen("c:\\test.txt","rb"))!=NULL

C语言文件操作函数大全(超详细)

C语言文件操作函数大全(超详细) 作者: 字体:[增加 减小] 类型:转载 本篇文章是对C语言中的文件操作函数进行了详细的总结分析,需要的朋友参考下 fopen(打开文件)相关函数 open,fclose表头文件 #include<stdio.h>定义函数 FILE * fopen(const char * path,const char * mode);函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态.mode有下列几种形态字符串:r 打开只读文件,

C语言 文件操作API介绍

文件的基本概念 所谓“文件”是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名. 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件.库文件 (头文件)等.文件通常是驻留在外部介质(如磁盘等)上的, 在使用时才调入内存中来.从不同的角度可对文件作不同的分类.从用户的角度看,文件可分为普通文件和设备文件两种. 普通文件是指驻留在磁盘或其它外部介质上的一个有序数据集,可以是源文件.目标文件.可执行程序:也可以是一组待输入处理的原始数据,或者是一组输出的结果.