fgetc,fputc用法
来源:互联网 发布:易语言qq加好友源码 编辑:程序博客网 时间:2024/05/17 00:19
几个实例:
注:int feof(FILE *stream); //检测流上的文件结束符
feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为非零值,否则为0。
EOF是文本文件结束的标志。在文本文件中,数据是以字符的ASCⅡ代码值的形式存放,普通字符的ASCⅡ代码的范围是32到127(十进制),EOF的16进制代码为0x1A(十进制为26),因此可以用EOF作为文件结束标志。C语言中,EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。
当把数据以二进制形式存放到文件中时,就会有-1值的出现,因此不能采用EOF作为二进制文件的结束标志。为解决这一个问题,ASCI C提供一个feof函数,用来判断文件是否结束。feof函数既可用以判断二进制文件又可用以判断文本文件。
feof()可以用EOF代替吗?不可以。fgetc返回-1时,有两种情况:读到文件结尾或是读取错误。因此我们无法确信文件已经结束, 因为可能是读取错误! 这时我们需要feof()。
//写入文本#include <stdio.h>#include <stdlib.h>void main(){FILE *input;char ch,filename[20];printf("请输入你要写入文件的文件名和路径");scanf("%s",filename);input = fopen(filename,"rt+");if ( NULL == input ){perror(filename); exit(EXIT_FAILURE);}printf("请输入你要写入文件的文本");ch = getchar();//接受回车键ch = getchar();while ( ch != EOF) {fputc(ch,input);ch = getchar();}fclose(input);}//读取文本#include <stdio.h>#include <stdlib.h>void main(){FILE *input;char ch,filename[20];printf("请输入你要写入文件的文件名和路径");scanf("%s",filename);input = fopen(filename,"rt+");if ( NULL == input ){perror(filename); exit(EXIT_FAILURE);}while ( ch != EOF) //EOF :ctrl + z{ch = fgetc(input); putchar(ch);}fclose(input);}///文件图片合成器,将压缩文件包封装在图片文件里///cmd: copy /b 1.jpg+1.rar 2.jpg #include <stdio.h>#include <stdlib.h>void main(){FILE *pfile1,*pfile2,*output;char filename1[20],filename2[20],filename3[20],ch1,ch2;printf("请输入需要合成的第一个文件地址");scanf("%s",filename1);//getchar();printf("请输入需要合成的第二个文件地址");scanf("%s",filename2);//getchar();printf("请输入输出文件的地址");scanf("%s",filename3);pfile1 = fopen(filename1,"rb");if ( NULL == pfile1){perror(filename1);exit(EXIT_FAILURE);}pfile2 = fopen(filename2,"rb");if ( NULL == pfile2){perror(filename2);exit(EXIT_FAILURE);} output = fopen(filename3,"wb");if ( NULL == output){perror(filename3);exit(EXIT_FAILURE);}// ch = fgetc(pfile1);while ( ! (feof(pfile1)) ) {ch1 = fgetc(pfile1); fputc(ch1,output);}while ( ! (feof(pfile2)) ) {ch2 = fgetc(pfile2); fputc(ch2,output);} fclose(pfile1);fclose(pfile2);fclose(output);system("pause");}
- fgetc,fputc用法
- fgetc、fputc
- C中fgetc()和fputc简单用法介绍
- C语言中fputc和fgetc函数用法
- fgetc和fputc
- fgetc fgets fputc fputs
- fgetc fgets fputc fputs
- fputc()和fgetc()
- freopen fputc fgetc()
- fgetc与fputc函数
- fgetc fputc的使用
- strchr、sprintf、fputc、fgetc
- fgets,fputs,fputc,fgetc总结
- ******************* fputc---fgetc函数的作用 *******************
- fgetc()和fputc()小练习
- fgetc和fputc的使用方法
- fopen、fclose、feof、fputc、fgetc、fread、fwrite、ftell、fseek、fscanf函数的用法
- fputc()与fgetc()函数的使用
- PHP以追加方式写入文件 file_put_content
- Android之 AndroidManifest.xml 文件解析
- excel不能插入对象,EXCEL“不能启动此对象的源应用程序
- Struts1的ActionForm中文乱码问题
- 有8瓶水,其中有一瓶有毒,最少尝试几次可以找出来
- fgetc,fputc用法
- 让FoxitReader记住上次浏览的位置
- SAP Payment Terms 收付款条件的设置
- 算法时间复杂度计算
- YUV格式详解
- 关于gen_tcp:controlling_process函数的使用
- 前端若干模板介绍对比
- Git建立远程仓库步骤和可能遇到的问题处理
- how to disable the button when submitting