在cpp中放函數(shù)、變量的定義,而h里面放變量、函數(shù)的聲明。
創(chuàng)新互聯(lián)公司主營和碩網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都APP應(yīng)用開發(fā),和碩h5微信小程序定制開發(fā)搭建,和碩網(wǎng)站營銷推廣歡迎和碩等地區(qū)企業(yè)咨詢
由于我們現(xiàn)在寫的都是比較小的程序,單文件多文件的有事不是很明顯,如果我們寫了一個程序有上萬行,你想一想,全部程序?qū)懺谝粋€文件里面,這樣代碼難以閱讀,維護。
C語言中用流替換函數(shù)freopen可以從文件中讀取數(shù)據(jù)或?qū)?shù)據(jù)輸出到文件中。
需要引用庫"stdio.h",即
#includestdio.h
freopen的聲明如下:
FILE *freopen(const char * restrict filename, const char * restrict mode, FILE * restrict stream);
形參說明:
filename:需要重定向到的文件名或文件路徑。
mode:代表文件訪問權(quán)限的字符串。例如,"r"表示“只讀訪問”、"w"表示“只寫訪問”、"a"表示“追加寫入”。
stream:需要被重定向的文件流。
返回值:如果成功,則返回該指向該輸出流的文件指針,否則返回為NULL。
用法:
將輸入流從stdin替換成指定文件可以從文件中讀取數(shù)據(jù);
將輸出流從stdout替換成指定文件可以將數(shù)據(jù)輸出到文件中。
下面舉個例子:
#includestdio.h
int main(){
freopen("in.txt","r",stdin); //從in.txt中讀數(shù)據(jù)
freopen("out.txt","w",stdout);//向out.txt中寫數(shù)據(jù)
int a,b;
while(~scanf("%d%d", a, b)){
printf("%d %d\n");
}
return 0;
}
主要通過fprintf格式化輸出函數(shù)實現(xiàn),主要代碼如下,
//程序功能,將10 12.345000 testinfo 寫入test.txt文件
#include stdio.h
int main(int argc, char *argv[])
{
FILE *pf=NULL;
int m=10;
float f=12.345;
char str[20]="testinfo";
pf=fopen("test.txt", "w" );//假設(shè)test.txt文件為空
if(!pf)
{
printf("打開文件失敗,程序退出!");
exit(1);
}
fprintf(pf,"%d %f %s\n",m,f,str);//寫入,test.txt文件內(nèi)容為10 12.345000 testinfo
if(pf)//關(guān)閉文件
{
fclose( pf);
pf=NULL;
}
printf("數(shù)據(jù)已寫入test.txt文件!\n");
return 0;
}
int fprintf( FILE *stream, const char *format, ... );fprintf()函數(shù)根據(jù)指定的format(格式)發(fā)送參數(shù)到由stream指定的文件。fprintf()只能和printf()一樣工作,fprintf()的返回值是輸出的字符數(shù),發(fā)生錯誤時返回一個負值。