怎样向文件读写字符

函数名 调用形式 功能
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

时间: 2024-11-13 10:40:51

怎样向文件读写字符的相关文章

《顺序读写数据文件(怎样向文件读写字符)——例子》

//从键盘输入一些字符,逐个把他们送到磁盘上去,直到用户输入一个“#”为止. /*思路:用fgetc函数从键盘逐个输入字符,然后用fputc函数写到磁盘文件中即可.*/ //源程序如下: #include<stdio.h>#include<stdlib.h>int main(){ //定义一个FILE类型的指针变量 FILE *fp; char ch,filename[50]; printf("请输入文件名:"); scanf("%s",fi

《将一个磁盘文件中的信息复制到另一个磁盘文件中(怎样向文件读写字符)》

注意:程序中的feof(in)是检查in所指向的文件是否结束.如果是,则函数值为1(真),否则为0(假), 也就是“!feof(in)为真”,在while循环中检查"!feof(in)"为真,就执行循环体. //将一个磁盘文件中的信息复制到另一个磁盘文件中去,要求将上例建立的f:\\FILE_1\\file.txt文件中的//内容复制到另一个磁盘文件f:\\FILE_1\\file_1.txt文件中.#include<stdio.h>#include<stdlib.h

【C/C++学院】0826-文件重定向/键盘输入流/屏幕输出流/字符串输入输出/文件读写简单操作/字符文件读写二进制与文本差别/get与getline挖掘数据/二进制与文本差别/随机位置/多线程初级

文件重定向 #include<iostream> using namespace std; void main() { char str[30] = { 0 }; cin >> str; cout << str; system(str); cerr << "error for you"; cin.get(); cin.get(); } 键盘输入流 #include<iostream> #include <stdlib.h

python 读写文件和设置文件的字符编码

一. python打开文件代码如下: f = open("d:\test.txt", "w") 说明:第一个参数是文件名称,包括路径:第二个参数是打开的模式mode ‘r’:只读(缺省.如果文件不存在,则抛出错误)‘w’:只写(如果文件不存在,则自动创建文件)‘a’:附加到文件末尾‘r+’:读写 如果需要以二进制方式打开文件,需要在mode后面加上字符”b”,比如”rb””wb”等 二.python读取文件内容f.read(size) 参数size表示读取的数量,可

Python模块、字符编码、文件读写

模块 当我们用一种语言开始真正的软件开发室,除了编写代码外,还需要很多基本的已经写好的现成的东西,高级语言通常都会为我们提供了一个比较完善的基础代码库,让我们能直接调用,python也不例外,为我们提供了分成完善的基础代码和第三方库.在python中一个.py文件就是一个模块. 模块导入使用import 获取随机数模块 调用系统命令 把执行脚本时传递的参数获取到了 当我们试图加载一个模块时,Python会在指定的路径下搜索对应的.py文件,如果找不到,就会报错,默认情况下,Python解释器会搜

字符流之文件读写流

文件读写流最大的问题:当项目的编码格式与读的文件的编码格式一致时才不会出现乱码

文件操作ofstream,open,close,ifstream,fin,按照行来读取数据, fstream,iosin iosout,fio.seekg(),文件写入和文件读写,文件拷贝和文件

 1.ofstream,open,close 写入文件 #include<iostream> #include<fstream> using namespace std; //通过ofstream的方式实现写入文件 open,close void main() { ofstream fout;  //ofstream输出文件 fout.open("E:\\1.txt");//打开文件 fout << "1234abcdef";

C语言文件读写操作总结

C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文件的存取操作了.当使用打开函数时,必须给出文件名.文件操作方式(读.写或读写),如果该文件名不存在,就意味着建立(只对写文件而言,对读文件则出错),并将文件指针指向文件开头.若已有一个同名文件存在,则删除该文件,若无同名文件,则建立该文件,并将文件指针指向文件开头. fopen(char

快速入门Python中文件读写IO是如何来操作外部数据的?

读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件). 读文件 要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符 >>> f =