一、讀字符串函數fgets函數的功能是從指定的文件中讀一個字符串到字符數組中,函數調用的形式為: fgets(字符數組名,n,文件指針); 其中的n是一個正整數。表示從文件中讀出的字符串不超過 n-1 " /> 国产成人h在线视频,国产极品白嫩超清在线观看,暖暖日本 在线 高清

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php文本操作方法集合比較第1/2頁

字符串讀寫函數fgets和fputs

一、讀字符串函數fgets函數的功能是從指定的文件中讀一個字符串到字符數組中,函數調用的形式為: fgets(字符數組名,n,文件指針); 其中的n是一個正整數。表示從文件中讀出的字符串不超過 n-1個字符。在讀入的最后一個字符后加上串結束標志'/0'。例如:fgets(str,n,fp);的意義是從fp所指的文件中讀出n-1個字符送入 字符數組str中。

[例10.4]從e10_1.c文件中讀入一個含10個字符的字符串。

#include<stdio.h>
main()
{
FILE *fp;
char str[11];
if((fp=fopen("e10_1.c","rt"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
fgets(str,11,fp);
printf("%s",str);
fclose(fp);


本例定義了一個字符數組str共11個字節,在以讀文本文件方式打開文件e101.c后,從中讀出10個字符送入str數組,在數組最后一個單元內將加上'/0',然后在屏幕上顯示輸出str數組。輸出的十個字符正是例10.1程序的前十個字符。

對fgets函數有兩點說明:

1. 在讀出n-1個字符之前,如遇到了換行符或EOF,則讀出結束。

2. fgets函數也有返回值,其返回值是字符數組的首地址。

二、寫字符串函數fputs

fputs函數的功能是向指定的文件寫入一個字符串,其調用形式為: fputs(字符串,文件指針) 其中字符串可以是字符串常量,也可以是字符數組名, 或指針 變量,例如:

fputs(“abcd“,fp);

其意義是把字符串“abcd”寫入fp所指的文件之中。[例10.5]在例10.2中建立的文件string中追加一個字符串。

#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);


本例要求在string文件末加寫字符串,因此,在程序第6行以追加讀寫文本文件的方式打開文件string 。 然后輸入字符串, 并用fputs函數把該串寫入文件string。在程序15行用rewind函數把文件內部位置指針移到文件首。 再進入循環逐個顯示當前文件中的全部內容。


數據塊讀寫函數fread和fwrite

C語言還提供了用于整塊數據的讀寫函數。 可用來讀寫一組數據,如一個數組元素,一個結構變量的值等。讀數據塊函數調用的一般形式為: fread(buffer,size,count,fp); 寫數據塊函數調用的一般形式為: fwrite(buffer,size,count,fp); 其中buffer是一個指針,在fread函數中,它表示存放輸入數據的首地址。在fwrite函數中,它表示存放輸出數據的首地址。 size 表示數據塊的字節數。count 表示要讀寫的數據塊塊數。fp 表示文件指針。

例如:

fread(fa,4,5,fp); 其意義是從fp所指的文件中,每次讀4個字節(一個實數)送入實數組fa中,連續讀5次,即讀5個實數到fa中。

[例10.6]從鍵盤輸入兩個學生數據,寫入一個文件中, 再讀出這兩個學生的數據顯示在屏幕上。

#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;
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);


本例程序定義了一個結構stu,說明了兩個結構數組boya和 boyb以及兩個結構指針變量pp和qq。pp指向boya,qq指向boyb。程序第16行以讀寫方式打開二進制文件“stu_list”,輸入二個學 生數據之后,寫入該文件中, 然后把文件內部位置指針移到文件首,讀出兩塊學生數據后,在屏幕上顯示。

php技術php文本操作方法集合比較第1/2頁,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲精品午夜VA久久成人 | 熟女人妻久久精品AV天堂 | 榴莲黄版无限刷 | 老师的玉足高跟鞋满足我 | 亚洲午夜久久久久中文字幕 | 一个人免费视频在线观看高清频道 | 欧美亚洲韩日午夜 | 91国在线视频 | 久久国产亚洲电影天堂 | 色婷婷激情AV精品影院 | 免费看片A级毛片免费看 | 广东95后小情侣酒店自拍流出 | 日本色呦呦 | 国产亚洲精品久久久久久线投注 | 国产1000部成人免费视频 | 成人精品视频在线 | 狠狠插综合 | 国产欧美精品国产国产专区 | 诱受H嗯啊巨肉舍友1V1 | 青青草伊人久久 | 超碰在线97久久视频观看 | 国产品无码一区二区三区在线 | 亚洲欧洲日韩天堂无吗 | av在线观看地址 | 一本道dvd久久综合高清免费 | 乱淫67194| 久久这里只有热精品18 | 国产偷国产偷亚州清高 | HEYZO精品无码一区二区三区 | 国产亚洲日韩另类在线观看 | 久久热这里面只有精品 | 色欲人妻无码AV精品一区二区 | 亚洲日韩天堂在线中文字幕 | 国产偷国产偷亚洲高清SWAG | 国产精品96久久久久久AV不卡 | 亚洲日本乱码中文论理在线电影 | 国产69精品久久久久人妻刘玥 | 5g在视影讯天天5g免费观看 | 草莓视频app深夜福利 | wwwzzz日本| 成人影片下载网站 |