庫函數(shù)文件,創(chuàng)建、打開、讀寫、刪除、操作實現(xiàn)

庫函數(shù)-文件訪問

興海網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),興海網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為興海1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的興海做網(wǎng)站的公司定做!

上一個博文主要講了系統(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 只寫方式打開,文件不存在,進(jìn)行創(chuàng)建.

                    A,ab 追加方式打開,如果文件不存在,則創(chuàng)建文件

                    W+,w+b,wh+只讀方式打開,如果文件不存在,則創(chuàng)建文件

                    A+ ,a+b ab+讀和追加的方式打開。如果文件不存在,則創(chuàng)建改文件

 

庫函數(shù)的創(chuàng)建和打開

b用于區(qū)分二進(jìn)制文件

 

二、庫函數(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<stdio.h>

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ù)寫字符

#include<stdio.h>

main ()

{

 

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:”);

ch=getchar();  //獲取一個字符,并把字符賦值微微ch

 

while(ch!=’’)

{

fputch(ch,fp);  //寫字符

ch=getchar();  //繼續(xù)獲取如輸入的字符

 

}

Print(“”);

fclose(fp);

 

 

}

 

 

 

六、庫文件-格式化讀

Fscanf(FILE*stream,char *format[,argument.....])

#include <stdlib.h>

#include<process.h>

Void main(void)

{

Int i=10;

Double fp=1.5;

Char s[]=”this is a string”;

Char c =’’;

Stream=fopen(“fprintf.out”,”w”); //打開以后執(zhí)行的操作都在函數(shù)里面了

Fprintf(stream,”%s%c”,s,c);  //第一個寫入的是字符串,第二個是char型

Fprintf(stream,”%d”,i);

 

Fprintf(stream,”%f”,fp);  //浮點型額類型

Fclose(steam);   //關(guān)閉指向文件寫入

}

 

 

第七、庫函數(shù)定位

Int fseek(FILE*stream,long offset,int whence)

Whence:

SEEK_set 從文件頭開始搜索

SEEK_CUR從當(dāng)前的位置搜索

SEEK_END 從文件結(jié)束處開始搜索

 

 

第八、路徑獲取

在編寫程序的時候,有時候需要知道路徑。

Char *getcwd(char*buffer,size_t size)

上面定義一個size大小的buffer,getcwd會把當(dāng)前的路徑名copy

到buffer中,如果buffer太小,函數(shù)會返回-1.

 

路徑獲取實現(xiàn):

#include<unistd.h>

Main()

{

Char buf[80];

Getcwd(buf,sizeof(buf));

Printf(“current working dirctory :%sn”,buf);

 

}

第九、創(chuàng)建目錄

#include<sys/stat.h>

Int mkdir (char*dir,int mode)

功能:

創(chuàng)建目錄

返回值:表示成功,-1表示出錯。

 

在和linuxshell下的操作命令一樣

#mkdir hello Scripts

 

 

分享文章:庫函數(shù)文件,創(chuàng)建、打開、讀寫、刪除、操作實現(xiàn)
分享鏈接:http://bm7419.com/article8/igssop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)電子商務(wù)、面包屑導(dǎo)航移動網(wǎng)站建設(shè)、網(wǎng)站營銷網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名