隨便寫了一個(gè),因?yàn)椴恢滥愕膕n[]數(shù)據(jù)室怎么定義的,所以你自己只寫了出來沒有排錯(cuò),你自己調(diào)試吧,應(yīng)該就是這個(gè)樣子

成都創(chuàng)新互聯(lián)公司基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺(tái)為眾多戶提供川西大數(shù)據(jù)中心 四川大帶寬租用 成都機(jī)柜租用 成都服務(wù)器租用。
int writeDat()
{
FILE *fp;
if((fp=fopen("c:\\設(shè)備清單.txt","a"))==NULL) //打開文件
{
printf("打開文件失敗 c:\\設(shè)備清單.txt!");
getch();
return(1);
}
//輸出到文件
fprintf(fp, "\n%s ",eq[n].ID);
fprintf(fp, "%s ",eq[n].kind);
fprintf(fp, "%s ",eq[n].name);
fprintf(fp, "%s ",eq[n].price);
fprintf(fp, "%d %d %d",eq[n].purchaseDay.year,eq[n].purchaseDay.month,eq[n].purchaseDay.day);
fprintf(fp, "%s ",eq[n].yesno);
fprintf(fp, "%d %d %d",eq[n].overDay.year,eq[n].overDay.month,eq[n].overDay.day);
//輸出到屏幕,不需要的話可以屏蔽掉
fprintf("\n%s ",eq[n].ID);
fprintf("%s ",eq[n].kind);
fprintf("%s ",eq[n].name);
fprintf("%s ",eq[n].price);
fprintf("%d %d %d",eq[n].purchaseDay.year,eq[n].purchaseDay.month,eq[n].purchaseDay.day);
fprintf("%s ",eq[n].yesno);
fprintf("%d %d %d",eq[n].overDay.year,eq[n].overDay.month,eq[n].overDay.day);
fclose(fp);//關(guān)閉文件
return(0);
}
void Add()//信息錄入
{
char c='Y';
int choice;
while(c=='Y')
{
fflush(stdin);//清除輸入流的緩存區(qū),確保不影響后面的數(shù)據(jù)讀取
printf("\n請(qǐng)輸入設(shè)備ID號(hào):");
scanf("%s",eq[n].ID);
printf("\n請(qǐng)輸入設(shè)備種類:");
scanf("%s",eq[n].kind);
printf("\n請(qǐng)輸入設(shè)備名稱:");
scanf("%s",eq[n].name);
printf("\n請(qǐng)輸入設(shè)備價(jià)格:");
scanf("%s",eq[n].price);
printf("\n請(qǐng)輸入設(shè)備購入日期:");
scanf("%d %d %d",eq[n].purchaseDay.year,eq[n].purchaseDay.month,eq[n].purchaseDay.day);
printf("\n請(qǐng)輸入設(shè)備是否報(bào)廢:");
scanf("%s",eq[n].yesno);
printf("\n請(qǐng)輸入報(bào)廢日期:");
scanf("%d %d %d",eq[n].overDay.year,eq[n].overDay.month,eq[n].overDay.day);
if(writeDat())printf("\n提示:第%d條記錄的錄入失敗!\n",n+1);;
else
{
n++;
printf("\n提示:已經(jīng)完成%d記錄的錄入!\n",n);;
}
printf("\n輸入Y繼續(xù)!\n");
c=getchar();
}
printf("\n提示:輸入0則返回主菜單!\n");
scanf("%d",choice);
if(choice==0)
menu();
}
#includestdio.h
main()
{
FILE *fp;
char ch;
fp=fopen("1.dat","w");
while(ch!='a')
{
ch=getchar();
fputc(ch,fp);
}
fclose (fp);
}
給你個(gè)例子看看。輸入一些字符。會(huì)保存在1.dat中。1.dat在你的C程序目錄下。你可以去看下C語言文件。。挺簡(jiǎn)單的,你要實(shí)現(xiàn)的 是要用到。fwrite()這個(gè)讀入數(shù)據(jù)流。
1.函數(shù)指針的數(shù)組定義方法:返回值類型( * 指針變量名[Number]) (形參列表)。
例如:
double add(double a,double b){};
double sub(double a,double b){};
double mul(double a,double b){};
double div1(double a,double b){};
double (*oper_func[])(double, double) = {add,sub,mul,div1};//函數(shù)指針的數(shù)組定義
2.函數(shù)指針是指向函數(shù)的指針變量。函數(shù)指針有兩個(gè)用途:調(diào)用函數(shù)和做函數(shù)的參數(shù)。
函數(shù)指針的聲明方法為:
返回值類型( * 指針變量名) (形參列表);
“返回值類型”說明函數(shù)的返回類型,“( * 指針變量名)”中的括號(hào)不能省,括號(hào)改變了運(yùn)算符的優(yōu)先級(jí)。若省略整體則成為一個(gè)函數(shù)說明,說明了一個(gè)返回的數(shù)據(jù)類型是指針的函數(shù),后面的“形參列表”表示指針變量指向的函數(shù)所帶的參數(shù)列表。
例子:
#includestdio.h
int?max(int?x,int?y){return?(xy??x:y);}
int?main(){
int?(*ptr)(int,?int);
int?a,?b,?c;
ptr?=?max;
scanf("%d%d",?a,?b);
c?=?(*ptr)(a,b);
printf("a=%d,?b=%d,?max=%d",?a,?b,?c);
return?0;
}
在調(diào)用函數(shù)的時(shí)候,棧按照一定的順序保存函數(shù)名和局部變量,然后函數(shù)調(diào)用完后棧里的函數(shù)名和局部變量被釋放,所以結(jié)果無法保存,如果是定義為static類型的就可以了,局部變量也是不能保存的
分享標(biāo)題:c語言如何保存函數(shù) c語言如何保存函數(shù)數(shù)據(jù)
轉(zhuǎn)載來源:http://chinadenli.net/article22/dodjgjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、ChatGPT、全網(wǎng)營(yíng)銷推廣、軟件開發(fā)、網(wǎng)站排名、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)