您的位置:首页 > 编程语言 > C语言/C++

文件(字符)读写

2016-07-01 14:12 267 查看

格式: 

  
FILE *fp;

    fp=fopen("E:\\C_program\\KeWai\\chap11\\ReadFile\\readtest.txt","r");

    if(!fp)  //fp==NULL

    {

        printf("can't open file readtest.txt\n");

        exit(1);

    }

结束之后要用fclose(fp)关闭文件

文本文件:

    "r": 读

    "w": 写

    "a": 输出追加   //以a方式打开,文件不能读,可以在文件末尾追加

    "r+": 以读/写方式打开一个文本文件

    "w+": 以读/写方式创建一个新的文本文件

    "a+": 以读/写追加方式打开一个文本文件
     //可以读,也可以写,写是在文件末尾追加

二进制文件:  (与文本不同的就是在后面加一个b)

    "rb": 读一个二进制文件

    "wb": 写

    "ab": 输出追加

    "rb+": 以读/写方式打开一个二进制文件

    "wb+": 以读/写方式创建一个新的二进制文件

    "ab+": 以读/写追加方式打开一个二进制文件   
//可以读,也可以写,写是在文件末尾追加

   字符写到文件中

        #include <stdio.h>

        #include <stdlib.h>

        int main()

        {

            char ch;

            FILE *fp;

            //路径要用双斜杠,第一个是转义字符

            fp=fopen("E:\\C_program\\KeWai\\chap11\\rwcharfile\\poem.txt","w");   //w以写方式打开文本文件

            if(!fp)

            {

                printf("file cannot be opened\n");

                exit(1);

            }

            printf("enter a text(end with '#'):\n");

            //getchar()函数把输入的内容存在缓冲区,按回车键之后一个一个读取

            ch=getchar();

            while(ch!='#')

            {

                fputc(ch,fp);

                ch=getchar();

            }

            fclose(fp);

            return 0;

        }

文件的读取

  #include <stdio.h>

  #include <stdlib.h>

  int main()

  {

      char ch;

      FILE *fp;

      fp=fopen("E:\\C_program\\KeWai\\chap11\\wcharfile\\poem.txt","r");

      if(!fp)

      {

          printf("file cannnot be opened\n");

          exit(1);

      }

      //fgetc(fp)可以读取任何字符,包括换行 空格等

      while((ch=fgetc(fp))!=EOF)
  //循环的条件是文件没有结束,即读入的字符不是EOF,EOF是结束标志,EOF=-1

          putchar(ch);

      fclose(fp);

      return 0;

  }

文件结束也可以用feof(fp)判断

        文件没有结束时,feof(fp)返回0,结束返回非零值

       ch=fgetc(fp);

       while( !feof(fp) )  //文件没结束,feof(fp)=0   !feof(fp)=1

{

put
4000
char(ch);

ch=fgetc(fp);   //继续读下一个字符

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言文件读写