中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

庫函數文件,創建、打開、讀寫、刪除、操作實現

發布時間:2020-08-28 23:48:57 來源:網絡 閱讀:445 作者:TheRoodToDeath 欄目:系統運維

庫函數-文件訪問

上一個博文主要講了系統調用,接下來就開始庫函數調用講解。

特點:C庫函數是獨立與操作系統平臺存在的,無論在nunixlinux,還是windows操作系統下庫函數調用都是一樣的。

 

一、打開文件

FILE*fopen(cons char*filename,const char*mode)

Filename:

打開的文件名;

Mode:

打開的模式;

 

常見的打開模式:

                    R rb 只讀方式打開

                    W wb 只寫方式打開,文件不存在,進行創建.

                    A,ab 追加方式打開,如果文件不存在,則創建文件

                    W+,w+bwh+只讀方式打開,如果文件不存在,則創建文件

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

 

庫函數的創建和打開

b用于區分二進制文件

 

二、庫函數讀

Size_t fread(void*ptr,size_t size,size_t n,FILE*stream)

 

功能:

stream指向的文件中讀取n個字段,每個字段為size字節,并將讀取的數據放入ptr

所指向的字符數組中,返回實際已讀的字節數。

 

三、庫函數寫

Size_t fwrite(void*ptr,size_t size,size_t n,FILE*stream)

 

功能:

從緩沖區ptr所指向的數組中把n個字段寫到stream指向的文件中,每個字段長為size

的字節,返回實際寫入的字段數。

 

 

四、庫函數讀字符

從指定的文件中都一個字符

#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);  //繼續獲取改字符

 

 

}

fclose(fp);

 

 

}

 

 

五、庫函數寫字符

#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:\n);

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

 

while(ch!=\n)

{

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

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

 

}

Print(\n);

fclose(fp);

 

 

}

 

 

 

六、庫文件-格式化讀

FscanfFILE*streamchar *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 =\n;

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

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

Fprintf(stream,%d\n,i);

 

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

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

}

 

 

第七、庫函數定位

Int fseekFILE*streamlong offset,int whence

Whence:

SEEK_set 從文件頭開始搜索

SEEK_CUR從當前的位置搜索

SEEK_END 從文件結束處開始搜索

 

 

第八、路徑獲取

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

Char *getcwdchar*buffersize_t size

上面定義一個size大小的buffergetcwd會把當前的路徑名copy

buffer中,如果buffer太小,函數會返回-1.

 

路徑獲取實現:

#include<unistd.h>

Main()

{

Char buf[80];

Getcwd(buf,sizeof(buf));

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

 

}

第九、創建目錄

#include<sys/stat.h>

Int mkdir (char*dirint mode)

功能:

創建目錄

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

 

在和linuxshell下的操作命令一樣

#mkdir hello Scripts

 

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

曲阜市| 康保县| 马鞍山市| 武穴市| 藁城市| 彩票| 镇沅| 海晏县| 临夏市| 灵台县| 临泽县| 江永县| 咸阳市| 永泰县| 定陶县| 腾冲县| 东城区| 宁国市| 邓州市| 叙永县| 临桂县| 广南县| 三江| 凉山| 平遥县| 乌鲁木齐县| 精河县| 永靖县| 腾冲县| 东兴市| 南召县| 宣城市| 肃北| 南丹县| 宁陵县| 沈丘县| 芜湖市| 渭源县| 四川省| 乡宁县| 儋州市|