字符的输入输出(文件操作)
来源:互联网 发布:圣火明尊坐骑进阶数据 编辑:程序博客网 时间:2024/05/21 09:25
1,fgetc()的返回值是一个字符。在执行该函数读取字符遇到文件结束符,则返回文件结束标志EOF,EOF是定义在头文件stdio.h中,值为-1;EOF不是可输出的字符,不能够显示;只可以顺序的读取文件内容。
2,fputc()一般的调用形式为fputc(ch,fp);ch是要写入的字符,fp是文件的指针;如果写入成功,返回值就为该字符,否则返回值就是EOF;
(1)打开一个文件:
#include<stdio.h>int main(){FILE *fp;fp=fopen("hello.txt","w");//不加文件的路径,则文件在当前工程的目录下/*"w"以写的方式打开文件,当不存在这个文件的时候,则新建一个文件。 如果以"r"方式打开文件,则表示,该文件应该已经存在,不能使用它打开一个并不存在的文件。*/if(fp==NULL){printf("打开文件失败!");//exit(0);}fclose(fp);return 0;}
PS:exit(1)表示发生错误后退出程序, exit(0)表示正常退出。
(2)打开一个文件并且在屏幕上显示:
#include<stdio.h>int main(){FILE *fp;fp=fopen("hello.txt","rb+");if(fp==NULL){printf("打开文件失败!\n");}//将磁盘文件读出,并在屏幕上显示char ch=fgetc(fp);while(ch!=EOF)//while(!feof(fp)) 判断是否到达文件尾部{//{putchar(ch);//ch=fgetc(fp); 先读出一个字符再进入循环,读一次文件指针后移一个字符,结束时指向EOF。ch=fgetc(fp);//putchar(ch);}//}fclose(fp);return 0;}
在文本文件中输入:
运行结果:
可以看到,文本中的内容在控制台上得到了显示。
(3)在控制台输入数据,保存到文件中:
#include<stdio.h>int main(){FILE *fp;char ch,ch1;fp=fopen("world.txt","w");if(fp==NULL)return 0;printf("输入文件内容:\n");while((ch=getchar())!='#'){fputc(ch,fp);//向文件中写入一个字符}fclose(fp);//将文件内容输出到屏幕FILE *fp1;fp1=fopen("world.txt","r");//只读方式打开if(fp1==NULL)return 0;printf("打印输出\n");ch1=fgetc(fp1);while(ch1!=EOF){putchar(ch1);ch1=fgetc(fp1);}fclose(fp1);return 0;}
输入以下的内容:
打开world.txt,文本显示了文件内容:
(4)将一个文件中的内容复制到拧一个文件中:
#include<stdio.h>int main(){FILE *in,*out;char ch,infile[25],outfile[25];printf("输入要被拷贝的文件名\n");scanf("%s",infile);printf("输入要拷贝的文件名\n");scanf("%s",outfile);in=fopen(infile,"r");if(infile==NULL)return 0;out=fopen(outfile,"w");if(outfile==NULL)return 0;while(!feof(in)){ch=fgetc(in);//读出fputc(ch,out);//写入}fclose(in);fclose(out);return 0;}
打开两个文本文档,发现两个文本的内容是不一样的:
在控制台按照相应的指示输入:
再次打开两个文本,原来的world.txt文件中的内容被清空,hello.txt文件中的内容被复制到了world.txt中。
0 0
- 字符的输入输出(文件操作)
- 文件输入输出操作(字符流)
- 输入输出流(IO)—文件字符流(FileReader & FileWriter)的基本操作及应用
- 文件的字符输入输出流
- 字符串输入输出(文件操作)
- Java-文件输入输出演示(字符流)
- Java精选笔记_IO流(字符输入输出流、字符文件输入输出流、字符流的缓冲区)
- C++的输入输出流、文件操作
- C++的输入输出流、文件操作
- C++的输入输出流、文件操作
- C++输入输出流(文件的操作)
- C++关于文件输入输出的简单操作
- 文件输入输出操作(字节流)
- 文件操作,输入输出流(stream, writer)
- C++文件操作(输入输出流)
- 文件输入输出操作
- C++ 输入输出文件操作
- 文件操作-输入输出
- 4种Java引用浅解
- mysql分页之limit
- react-native学习笔记之flexbox和TextInput
- Java-全排列
- poj -2528 Mayor's posters -离散化线段树
- 字符的输入输出(文件操作)
- aircrack-ng on OSX 从零开始之探测
- Windows核心编程 第九章 线程与内核对象的同步(下)
- 语法分析表达式篇
- DOM获取结点
- Python安装与学习资源
- codeforces724C. Ray Tracing(扩展欧几里得详解)
- C++基础笔记之九:运算符的优先级
- Linux常用命令