您的位置:首页 > 职场人生

黑马程序员--C基础--各类读取函数

2015-06-26 16:19 441 查看
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

1、字符读取函数

字符读取函数是以字符(字节)为单位的读写函数。每次可以从文件读出或者向文件写入一个字符。

(1)字符写入函数fputc

字符写入函数fputc就是向文件写入一个函数。函数调用形式为:

fputc(字符量,文件指针);


例:

fputc('a',fp);  //将字符a写入fp指向的文件中


写入一个字符到文件中的步骤:

1–定义一个文件指针

2–打开文件

3–判断文件是否打开成功

4–如果打开成功,写入字符

5–关闭文件之指针

例:

char ch=’x’;

//定义一个文件指针

file *fp=NULL;

//打开文件,以打开fputc1.txt为例,以写(w)的方式打开

fp=fopen(“fputc.txt”,”w”);

//判断文件是否打开成功

if(fp!=NULL){

//打开成功,写字符

fputc(ch,fp);

printf(“写入成功!”);

}

//关闭指针

fclose(fp);

(2)字符读取函数fgetc

字符写入函数fputc就是从文件读取一个函数。函数调用形式为:

fgetc(文件指针);


例:

//把fp指向的文件中的字符逐个输出
char s=fgetc(fp);
while(s!=EOF){    //EOF是判断是否到文件末尾的标示
putchar(s);   //输出一个字符
s=fgetc(fp);  //继续获取下一个字符
}


(3)字符读取函数应用之读取用户输入的字符串,并打印出来

int main(){
char ch;
//定义文件指针,并打开文件
FILE *fp=fopen("Test.txt",'w+');
//判断是否打开成功
if(fp!=NULL){
printf("请输入一串字符:");
ch=getchar();
//判断是否输入完毕
while(ch!='\n'){
fputc(ch,fp);
ch=getchar()``
}
rewind(fp);  //把指针重新指向字符串首部
//读取文件中的字符
ch=fgetc(fp);
while(ch!=EOF){
//显示ch到控制台
putchar(ch);
ch=fgetc(fp);
}
//关闭指针
fclose(fp);
return 0;
}


2、字符串读取函数

(1)字符串写入函数fputs

fputs函数的功能就是把一串字符串写入文件,格式为:

fputs(字符串,文件指针);


例:

fputs("abc",fp);


(2)字符串读取函数fgets

fgets函数的功能就是从文件中读取一串字符,格式为:

fgets(数组名,长度,文件指针);


例:

char s[20];

fgets(s,sizeof(s),fp);

注意:

1–fgets读取的时候,当文件内容读取完毕会自动在末尾加上\0.

2–fgets读取的时候,遇到\n或者EOF,读取都结束

3、数据块读写函数

(1)数据块读函数fread

读数据块函数调用的一般形式为:

fread(buffer,size,count,fp);

(2)数据块写函数fwrite

fwrite(buffer,size,count,fp);

其中:

buffer:是一个指针,在fread中代表存放输入数据的首地址,在fwrite函数中存放输出数据的首地址。

size:表示数据块的字节数。

count:表示要读写的数据块块数。

fp:表示文件指针;

例:

fread(fa,4,5,fp);//从fp所指的文件中每次读取4个字节,共读取5次存放到数组fa中。

fwrite(fa,1,4,fp);//每次从fa读取一个字节,共读取4次,存放到fp所指的文件中。

4、格式化读写函数

(1)格式化写入函数fprintf,格式为:

fprintf(文件指针,格式字符串,输入表列);

(2)格式化读取函数fscanf,格式为:

fscanf(文件指针,格式字符串,输入表列);

fprintf和fscanf和前面使用的scanf和printf函数的功能相似,都是格式化读写函数。两者的区别在于fscanf函数和fprintf函数的读写对象不是键盘和显示器,而是磁盘文件。

例:

FILE *fp=fopen("Test.txt","w");
int a=3,b=4;
fprintf(fp,"%d#%d",a,b);//以%d#%d的格式,把a和b存放到fp指的文件中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c 程序员