一、讀字符串函數fgets函數的功能是從指定的文件中讀一個字符串到字符數組中,函數調用的形式為: fgets(字符數組名,n,文件指針); 其中的n是一個正整數。表示從文件中讀出的字符串不超過 n-1 " /> 爱爱综合网,国产尤物,亚洲国产精品久久久久久6q

四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

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頁,轉載需保留來源!

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

主站蜘蛛池模板: 闺蜜之夏 电影| 《致命弯道3》| 我妻子的一切 电影| 微笑江湖| 吉吉映画| 电影《志愿者》观后感| 荒野求生21天美国原版免费播放| 男生虐茎虐睾视频网站| 电影《斯宾塞》| 绝顶五秒前| 崔维斯·费米尔| 勿言推理 电视剧| 远方的故乡简谱| 光彩年华| 龙的传人第四季| 海豹w| 地铁女孩| 孽子 电影| 回收名表价格查询| 考死2:教学实习| 追捕电影完整版免费| 诱惑的艺术| 男生帅气动漫头像| 帕罗| 莫恭明| 特级做a爰片毛片免费看108| 栏目大全| 时来运转电影| 姐妹姐妹演员全部演员表| 相声剧本(适合学生)| 红海行动2在线观看| 秀人网小逗逗集免费观看| 卧龙生| 4人免费剧本及答案| 日记的格式四年级| 廊桥遗梦中被剪掉的一段| 爱在西元前简谱| 浙江地图全图高清版大图| 情欲狂欢电影| a friend in need中文翻译| 水管十大品牌排行榜前十名 |