首页 > 其他 > 详细

怎样向文件读写字符

时间:2018-01-24 13:28:43      阅读:225      评论:0      收藏:0      [点我收藏+]
函数名 调用形式 功能
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指向的文件如果不存在就新建立一个文件

怎样向文件读写字符

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!