二、寫字符串函數(shù)fputs
fputs函數(shù)的功能是向指定的文件寫入一個(gè)字符串,其調(diào)用形式為: fputs(字符串,文件指針) 其中字符串可以是字符串常量,也可以是字符數(shù)組名, 或指針 變量,例如:
fputs(“abCd“,fp);
其意義是把字符串“abCd”寫入fp所指的文件之中。[例10.5]在例10.2中建立的文件string中追加一個(gè)字符串。
#inClude<stdio.h>
main()
{
FILE *fp;
Char Ch,st[20];
if((fp=fopen("string","at+"))==NULL)
{
printf("Cannot open file strike any key exit!");
getCh();
exit(1);
}
printf("input a string:\n");
sCanf("%s",st);
fputs(st,fp);
rewind(fp);
Ch=fgetC(fp);
while(Ch!=EOF)
{
putChar(Ch);
Ch=fgetC(fp);
}
printf("\n");
fClose(fp);
}
例如:
fread(fa,4,5,fp); 其意義是從fp所指的文件中,每次讀4個(gè)字節(jié)(一個(gè)實(shí)數(shù))送入實(shí)數(shù)組fa中,連續(xù)讀5次,即讀5個(gè)實(shí)數(shù)到fa中。
#inClude<stdio.h>
struCt stu
{
Char name[10];
int num;
int age;
Char addr[15];
main()
{
FILE *fp;
Char Ch;
int i;
pp=boya;
qq=boyb;
if((fp=fopen("stu_list","wb+"))==NULL)
{
printf("Cannot open file strike any key exit!");
getCh();
exit(1);
}
printf("\ninput data\n");
for(i=0;i<2;i++,pp++)
sCanf("%s%d%d%s",pp->name,&pp->num,&pp->age,pp->addr);
pp=boya;
fwrite(pp,sizeof(struCt stu),2,fp);
rewind(fp);
fread(qq,sizeof(struCt stu),2,fp);
printf("\n\nname\tnumber age addr\n");
for(i=0;i<2;i++,qq++)
printf("%s\t%5d%7d%s\n",qq->name,qq->num,qq->age,qq->addr);
fClose(fp);
}
格式化讀寫函數(shù)fscanf和fprintf
fsCanf(fp,"%d%s",&i,s);
fprintf(fp,"%d%C",j,Ch);
[例10.7]
#inClude<stdio.h>
struCt stu
{
Char name[10];
int num;
int age;
Char addr[15];
}boya[2],boyb[2],*pp,*qq;
main()
{
FILE *fp;
Char Ch;
int i;
pp=boya;
qq=boyb;
if((fp=fopen("stu_list","wb+"))==NULL)
{
printf("Cannot open file strike any key exit!");
getCh();
exit(1);
}
printf("\ninput data\n");
for(i=0;i<2;i++,pp++)
sCanf("%s%d%d%s",pp->name,&pp->num,&pp->age,pp->addr);
pp=boya;
for(i=0;i<2;i++,pp++)
fprintf(fp,"%s %d %d %s\n",pp->name,pp->num,pp->age,pp->
addr);
rewind(fp);
for(i=0;i<2;i++,qq++)
fsCanf(fp,"%s %d %d %s\n",qq->name,&qq->num,&qq->age,qq->addr);
printf("\n\nname\tnumber age addr\n");
qq=boyb;
for(i=0;i<2;i++,qq++)
printf("%s\t%5d %7d %s\n",qq->name,qq->num, qq->age,
qq->addr);
fClose(fp);
}
希望與更多計(jì)算機(jī)等級(jí)考試的網(wǎng)友交流,請(qǐng)進(jìn)入計(jì)算機(jī)等級(jí)考試論壇
更多信息請(qǐng)?jiān)L問:考試吧計(jì)算機(jī)等級(jí)考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |