码迷,mamicode.com
首页 > 其他好文 > 详细

怎样向文件读写字符

时间:2018-01-24 14:08:55      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:读取   fclose   打开文件   put   建立   soft   etc   har   数值   

函数名 调用形式 功能
fgetc fgetc(fp) 从fp指向的文件读入一个字符
fputc fput(ch,fp) 把字符ch写到文件指针变量fp所指向的文件中

 

 

 

-----------------------------------------------------------------------实例代码---------------------------------------------------------------------------

1、向文件添加数据

#include <stdio.h>
#include <stdlib.h>

int main()
{
     FILE *fp;
     char ch,filename[20];
     printf("请输入所用的文件名:");
     scanf("%s",filename);
     if((fp=fopen(filename,"a"))==NULL)                         //打开输出文件并使fp指向此文件
    {
           printf("无法打开文件\n");                                          //如果文件出错,就输出此文件无法打开的信息
           exit(0);                                                                     //终止程序
    }
   ch=getchar();                                                            //用来接收最后输入的回车符
   printf("请输入一个将要存储到磁盘的字符串(以#结束):");
   ch=getchar();                                                           //接收从键盘输入的第一个字符
   while(ch!=‘#‘)                                                           //当输入‘#‘时结束循环
   {
         fputc(ch,fp);                                                             //向磁盘文件输出一个字符
         putchar(ch);                                                             //将输出的字符显示在屏幕上
         ch=getchar();                                                           //再接收下一个从键盘输入的字符
   }
    fclose(fp);                                                                //关闭文件
    putchar(10);                                                             //向屏幕输出一个换行符
    return 0;
}

 

其中:

fp=fopen(filename,"a") 是指向文件添加数据

fp=fopen(filename,"w")是指向文件写数据

fp=fopen(filename,"r")是指读取文件的数据

----------------------------------------------------------------------分割线-------------------------------------------------------------------------------------

2、将in指向的文件中的数据复制到out指向的文件

#include <stdio.h>
#include <stdlib.h>

int main()
{
FILE *in,*out;                                      //定义指向FILE类型文件的指针变量
char ch,infile[20],outfile[20];                 //定义两个字符数组,分别存放两个数据文件名
printf("输入输入文件的名字"); 
scanf("%s",infile);                                //输入一个输入文件的名字
printf("输入输出文件的名字");
scanf("%s",outfile);                            //输入一个输出文件的名字
if((in=fopen(infile,"r"))==NULL)           //打开输入文件
{
printf("无法打开文件");
exit(0);
}
if((out=fopen(outfile,"w"))==NULL)        //打开输出文件
{
printf("无法打开文件");
exit(0);
}
while(!feof(in))                     //如果遇到输入文件的结束标志
{
ch=fgetc(in);                        //从输入文件读入一个字符,暂时放在变量ch中
fputc(ch,out);                       //将ch写到输出文件中
putchar(ch);                         //将ch显示在屏幕上
}  
putchar(10);                        //完全显示后换行
fclose(in);                            //关闭文件
fclose(out);
return 0;
}

1)在访问磁盘文件时,是逐个字符进行的,访问完一个字节后,当前访问位置就指向下一个字符

2)为了知道对文件的访问是否完成,只需看文件读写位置是否移动到文件的末尾。用feof函数可以检查到文件读写位置标记是否移动到了末尾,既磁盘文件是否结束。如果是函数值为0。

3)运行结果是将将in指向的文件中的数据复制到out指向的文件。前提是in指向的文件必须存在,out指向的文件如果不存在就新建立一个文件

怎样向文件读写字符

标签:读取   fclose   打开文件   put   建立   soft   etc   har   数值   

原文地址:https://www.cnblogs.com/jxxclj/p/8341109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!