新聞中心
庫函數(shù)-文件訪問
上一個博文主要講了系統(tǒng)調(diào)用,接下來就開始庫函數(shù)調(diào)用講解。
特點:C庫函數(shù)是獨立與操作系統(tǒng)平臺存在的,無論在nunixlinux,還是windows操作系統(tǒng)下庫函數(shù)調(diào)用都是一樣的。
一、打開文件
FILE*fopen(cons char*filename,const char*mode)
Filename:
打開的文件名;
Mode:
打開的模式;
常見的打開模式:
R rb 只讀方式打開
W wb 只寫方式打開,文件不存在,進行創(chuàng)建.
A,ab 追加方式打開,如果文件不存在,則創(chuàng)建文件
W+,w+b,wh+只讀方式打開,如果文件不存在,則創(chuàng)建文件
A+ ,a+b ab+ 讀和追加的方式打開。如果文件不存在,則創(chuàng)建改文件
庫函數(shù)的創(chuàng)建和打開
b用于區(qū)分二進制文件
二、庫函數(shù)讀
Size_t fread(void*ptr,size_t size,size_t n,FILE*stream)
功能:
從stream指向的文件中讀取n個字段,每個字段為size字節(jié),并將讀取的數(shù)據(jù)放入ptr
所指向的字符數(shù)組中,返回實際已讀的字節(jié)數(shù)。
三、庫函數(shù)寫
Size_t fwrite(void*ptr,size_t size,size_t n,FILE*stream)
功能:
從緩沖區(qū)ptr所指向的數(shù)組中把n個字段寫到stream指向的文件中,每個字段長為size
的字節(jié),返回實際寫入的字段數(shù)。
四、庫函數(shù)讀字符
從指定的文件中都一個字符
#include
main ()
{
FILE *fp;
char ch;
if((fp=fopen(“c1.txt”,”rt”)==NULL)
{
printf(“\nCANNOT open file strike any key exit”);
getch();
exit(1);
}
ch=fgetc(fp); //獲取一個字符,并把字符賦值微微ch
wwhile(ch!=EOF)
{
putchar(ch); //打印該字符
ch=fget(fp); //繼續(xù)獲取改字符
}
fclose(fp);
}
五、庫函數(shù)寫字符
#includemain ()
{
FILE *fp;
char ch;
if((fp=fopen(“c1.txt”,”wt+”)==NULL)
{
printf(“\nCANNOT open file strike any key exit”);
getch();
exit(1);
}
Printf(“input a string:\n”);
ch=getchar(); //獲取一個字符,并把字符賦值微微ch
while(ch!=’\n’)
{
fputch(ch,fp); //寫字符
ch=getchar(); //繼續(xù)獲取如輸入的字符
}
Print(“\n”);
fclose(fp);
}
六、庫文件-格式化讀
Fscanf(FILE*stream,char *format[,argument.....] )
#include
#include
Void main(void)
{
Int i=10;
Double fp=1.5;
Char s[]=”this is a string”;
Char c =’\n’;
Stream=fopen(“fprintf.out”,”w”); //打開以后執(zhí)行的操作都在函數(shù)里面了
Fprintf(stream,”%s%c”,s,c); //第一個寫入的是字符串,第二個是char型
Fprintf(stream,”%d\n”,i);
Fprintf(stream,”%f\n”,fp); //浮點型額類型
Fclose(steam); //關(guān)閉指向文件寫入
}
第七、庫函數(shù)定位
Int fseek(FILE*stream, long offset,int whence)
Whence:
SEEK_set 從文件頭開始搜索
SEEK_CUR從當前的位置搜索
SEEK_END 從文件結(jié)束處開始搜索
第八、路徑獲取
在編寫程序的時候,有時候需要知道路徑。
Char *getcwd(char*buffer,size_t size)
上面定義一個size大小的buffer,getcwd會把當前的路徑名copy
到buffer中,如果buffer太小,函數(shù)會返回-1.
路徑獲取實現(xiàn):
#include
Main()
{
Char buf[80];
Getcwd(buf,sizeof(buf));
Printf(“current working dirctory :%sn”,buf);
}
第九、創(chuàng)建目錄
#include
Int mkdir (char*dir, int mode)
功能:
創(chuàng)建目錄
返回值:表示成功,-1表示出錯。
在和linuxshell下的操作命令一樣
#mkdir hello Scripts
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當前標題:庫函數(shù)文件,創(chuàng)建、打開、讀寫、刪除、操作實現(xiàn)-創(chuàng)新互聯(lián)
當前路徑:http://www.dlmjj.cn/article/jhcge.html