一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第十四天,点击查看活动详情。
文件操作
前言
接上篇,这里我们学习文件操作~(注:学习笔记)
fgetc()函数调用
ch = fgetc(fp);
函数功能:其意义时从打开的文件fp读取一个字符并送入ch中。
对于fgetc函数的使用注意:
- 在fgetc函数调用中,读取的文件必须是以读或读写方式打开的
- 当文件内部有一个位置指针,用来指向文件的当前读写字节。
- 在文件打开时,该指针总是指向文件的第一个字节。使用fgetc函数后,该位置指针将向后移动一个字节。因此可连续多次使用fgetc函数读取多个字符。
- 应该注意文件指针和文件内部的位置指针不是一回事
- 文件指针是指向整个文件的,须在程序中定义说明,只要不重新赋值,文件指针的值时不变的。
- 文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需在程序中定义说明,而是由系统自动设置的。
#include<stdio.h>
#include<stdlib.h>
int main(){
FILE *fp;
char ch,filename[20];
printf("Please enter the filename you want to write:");
scanf("%s",filename);
if(!(fp = fopen(filename,"r"))){
printf("Can not open the file!\n");
exit(0);
}
while(ch != EOF){
ch = fgetc(fp);
putchar(ch);
}
fclose(fp);
return 0;
}
补充说明
-
从一个文本文件顺序读入字符并在屏幕上显示出来
ch = fgetc(fp); while(ch != EOF){ putchar(ch); ch = fgetc(fp); }
注意:EOF不是可输出字符,因此不能在屏幕上显示。由于字符的ASCII码不可能出现-1,因此EOF定义为-1时合适的。当读入的字符值等于-1时,表示读入的已不是正常的字符而是文件结束符。
-
从一个二进制文件顺序读入字符:
while(!feof(fp)){ ch = fgetc(fp); }
声明
本篇是跟着b站上的小甲鱼视频学习时候做的笔记,方便以后复习,希望每天都能进步一点点!!!
链接附上:C语言学习之小甲鱼视频链接