說明:如果您有任何疑問或想咨詢其他業務請撥打電話 400 685 0732
全網監測海量數據按需發布監測預警
實時把握輿情動態精準追溯信息源頭
在使用相關函數時,我們經常看見的就是一些求和或者是具有篩選性的一些函數,這有一些函數雖然我們不常見,但是如果能好好的學習,有時還會為我們解決不少的數據統計問題,其中就包括fopen函數,那么fopen函數是什么函數?具體如何使用呢?接下來我們就一起來好好的了解一下吧。
fopen函數——函數簡介
函數原型:FILE*fopen(constchar*path,constchar*mode);
返回值:文件順利打開后,指向該流的文件指針就會被返回。如果文件打開失敗則返回NULL,并把錯誤代碼存在error中。
一般而言,打開文件后會做一些文件讀取或寫入的動作,若打開文件失敗,接下來的讀寫動作也無法順利進行,所以一般在fopen()后作錯誤判斷及處理。
參數說明:
參數path字符串包含欲打開的文件路徑及文件名,參數mode字符串則代表著流形態。
mode有下列幾種形態字符串:
以x結尾的模式為獨占模式,文件已存在或者無法創建(一般是路徑不正確)都會導致fopen失敗。文件以操作系統支持的獨占模式打開。
上述的形態字符串都可以再加一個b字符,如rb、w+b或ab+等組合,加入b字符用來告訴函數庫以二進制模式打開文件。如果不加b,表示默認加了t,即rt、wt,其中t表示以文本模式打開文件。由fopen()所建立的新文件會具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)權限,此文件權限也會參考umask值。
有些C編譯系統可能不完全提供所有這些功能,有的C版本不用”r+”、”w+”、”a+”,而用”rw”、”wr”、”ar”等,讀者注意所用系統的規定。
fopen函數使用案例
fopen(“…”,”…”)
第一個參數是指向一個文件,如果當前文件不存在,系統會創建這個文件名。第二個參數是對這個文件進行的操作。例如,只讀,讀寫,寫等。
請參看下面的程序,了解其具體用法。下面程序實現的是在zhubihui.txt中寫入創建子程序的結果。
#include
#include
#include
main()
{
intp1,p2,i;
FILE*fp;
fp=fopen(“zhubihui.txt”,”w+”);
if(fp==NULL)
{printf(“Failtocreatefile”);
exit(-1);
}
while((p1=fork())==-1);
if(p1==0)
{lockf((int)fp,1,0);
for(i=0;i<10;i++)
fprintf(fp,”daughter%d\n”,i);
lockf((int)fp,0,0);
}
else
{while((p2=fork())==-1);
if(p2==0)
{lockf((int)fp,1,0);
for(i=0;i<10;i++)
fprintf(fp,”son%d\n”,i);
lockf((int)fp,0,0);
}
else
{
wait(NULL);
lockf((int)fp,1,0);
for(i=0;i<10;i++)
fprintf(fp,”parent%d\n”,i);
lockf((int)fp,0,0);
}
}
fclose(fp);
}
以上就是有關fopen函數是什么以及如何使用的所有內容,當然在文軍營銷官網當中還有更多函數的使用方法和技巧,如果大家還想了解更多的話,歡迎大家關注文軍營銷的官網。
推薦閱讀
說明:如果您有任何疑問或想咨詢其他業務請撥打電話 400 685 0732