一、讀字符串函數fgets函數的功能是從指定的文件中讀一個字符串到字符數組中,函數調用的形式為: fgets(字符數組名,n,文件指針); 其中的n是一個正整數。表示從文件中讀出的字符串不超過 n-1 " /> a高清免费毛片久久,久久久久18,亚洲无线码一区二区三区在线观看

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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個字節(jié),在以讀文本文件方式打開文件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函數把文件內部位置指針移到文件首。 再進入循環(huán)逐個顯示當前文件中的全部內容。


數據塊讀寫函數fread和fwrite

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

例如:

fread(fa,4,5,fp); 其意義是從fp所指的文件中,每次讀4個字節(jié)(一個實數)送入實數組fa中,連續(xù)讀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頁,轉載需保留來源!

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

主站蜘蛛池模板: 久久久精彩视频 | 久久香蕉热| 国产成人啪精品视频免费网站软件 | 黄色在线视频播放 | 另类亚洲图片 | 2021国产情侣真实露脸在线 | 国内久久久久久久久久 | 精品欧美亚洲韩国日本久久 | 中文字幕久久亚洲一区 | 成年网站未满十八禁毛片免费 | 78m.78摸免费视频 | 四虎sihu新版影院亚洲精品 | 精品视自拍视频在线观看 | 亚洲一区二区三区在线免费观看 | 精品一区二区三区高清免费观看 | 日本高清视频wwww色 | 国产成人青草视频 | 日韩一区二区三区视频在线观看 | 韩国免费一级成人毛片 | 国产精品无码久久综合网 | 91久久99久91天天拍拍 | 伊人网在线观看 | 婷婷色网 | 一本之道无吗一二三区 | 国产精品免费观看视频 | 国产婷婷综合在线视频中 | 在线看污视频 | 五月天丁香六月欧美综合 | 六月天婷婷 | 久久久高清日本道免费观看 | 国产精品亚洲一区二区三区在线观看 | 国产一区二区三区在线视频 | 成人国产精品免费视频 | 日本一区二区日本免费 | 国产午夜成人无码免费看 | 国产小视频在线观看www | 国产精品中文字幕在线观看 | 91在线看片一区国产 | 中文字幕一区视频一线 | 99视频精品全部免费观看 | 91播放在线|