一.涉及函数及其作用,注意事项(用的频繁的)
1.1fprintf(),fscanf()函数
.参数:fp(文件指针),%s,数组
返回值:无
作用:数组内容到文件
..参数:fp(文件指针)
返回值:无
作用:从文件到数组
Attention:会用就行、
1.2getc()、putc()函数
.参数:fp(文件指针)
返回值:int ch(抓到的字符)
作用:从文件中抓字符,使用返回值
..参数:ch, fp(文件指针)
返回值:无
作用:把字符赋值到文件
Attention:利用返回值传递字符
1.3fopen(),exit()函数
.参数:一般是数组(命令行参数、用户输入),打开模式(r,w,a)
返回值:文件指针
作用:返回值判断是否成功打开文件
..参数:文件指针
返回值:成功关闭为真
作用:关闭所有打开的文件
Attention:判断文件是否打开,会用就行
1.4fseek(),ftell()函数
.参数:文件指针, 偏移量,从哪开始(SEEK_SET/END/CUR)
返回值:0
作用:定位到文件的某个地方
..参数:文件指针
返回值:从文件开始到文件指针的距离,为long类型
作用:参加返回值
1.5fread(), fwrite() 二进制形式(r/w/a/ +b(表示二进制形式打开))
.参数:四个。目的地:数组地址,类型字节,个数,来源(文件)
返回值:成功读取的个数(int bytes)
作用:从文件读到数组
..参数:四个。来源:数组指针,类型字节,拷贝个数,目的地(文件)
返回值:无
作用:从数组拷贝到文件中
二.小技巧(做题遇到)
1.打印文件内容,既没到文件末尾也没到换行符的情况
Ch = getc(fp)
While(ch != EOF && ch != ‘\n’)
Putchar(ch);
Ch = Getc(fp);
if(ch != EOF)
{
Putchar(‘\n’);
Ch = Getc(fp);
}
2.malloc分配指定大小的内存(给结构体指针)
Struct book *p;
P = Malloc(2 * sizeof(struct book) )
3.舍弃数字输入后面的换行符
While(getchar() != ‘\n’)
Continue;
4.用户输入文件名,使用数组存储,打开文件时也使用数组打开
5.每三个字符打印一个(压缩三分之一)
While((ch = getc(fp)) != EOF)
{
If(I % 3 == 0)
Putc(ch , stdout);
}