C語言隨筆(七)檔案操作

2021-10-07 06:20:10 字數 2653 閱讀 6470

通過程式實現檔案的讀取操作

為了方便函式的呼叫,.c檔案之間呼叫函式通常使用.**件進行宣告

,將需要用到的函式宣告在.**件中。

首先我們要讀取的檔案內容為

#這是我的的ip位址

ip:127.0.0.1

#這是我的埠

port:8080

#這是使用者名稱

username:root

#這是密碼

password:root

aaa:bbbb

cccc:dddd

其中#號開頭的內容為注釋內容為無效行,不需要讀取,有效行格式為

key(關鍵字):value(有效值)

將要使用到的函式宣告在config.**件中,**如下

//防止標頭檔案重複包含

#pragma once

#include

#include

#include

struct configinfo

;//c++無法直接呼叫c的函式因此要寫如下宣告,使得編譯器知道下面的內容是c語言函式

#ifdef _cplusplus

extern

"c"#endif

#include

"configfile.h"

//判斷有效行

intvalidlines

(const

char

* buf)

return1;

//有效行返回1

//獲得檔案有效行數

intgetlines_configfile

(file *file)

;int lines =0;

while

(fgets

(buf,

1024

,file)

!=null

)fseek

(file,0,

seek_set);

//檔獲得有效行時,檔案指標在文字末尾,需要返回到檔案開頭

return lines;

}//載入配置檔案引數為(檔案路徑,返回的檔案內容,返回的有效行數)

void

loadfile_configfile

(const

char

* filepath,

char**

*filedata,

int* line)

int lines =

getlines_configfile

(file)

;//獲取有效行後,指標重定向到檔案開頭

char

** temp =

(char**

)malloc

(sizeof

(char*)

* lines)

;//開闢空間接收檔案內容

char buf[

1024]=

;//接收檔案一行的內容

int index =0;

//計數器

while

(fgets

(buf,

1024

,file)

!=null

)//判斷接收的行是否為空

* filedata = temp;

//返回有效內容

* line =lines;

//返回有效的行數

fclose

(file)

;//關閉檔案

}//解析配置檔案傳遞引數(有效的檔案內容,有效行數,要傳入的結構體)

void

parsefile_configfile

(char

**filedata,

int lines,

struct configinfo *

*info)

*info = myinfo;

//將整理好的結構體返回

for(

int i =

0; i < lines; i++

)//釋放空間}}

//獲得指定配置資訊傳遞引數(查詢值,結構體,有效行數)

char

*getinfo_configfile

(const

char

* key,

struct configinfo *info,

int line)

}return

null;}

//釋放記憶體

void

freeconfig

(struct configinfo * info)

//釋放結構體內存

free

(info)

; info =

null;}

}

#include

"configfile.h"

void

test

(char

*str)

void

main()

;while

(true)

test

(str);}

}

C語言基礎 14 檔案操作

calderon函式也可以動態分配記憶體 這個函式可以把分配的所有記憶體內容都設定成0 這個函式也需要包含 stdlib.h標頭檔案 這個函式需要兩個引數,第乙個引數表示希望分配的儲存區個數,第二個引數表示單個儲存區的大小 這個函式的返回值是分配好的第乙個儲存區的位址 這個函式也可能失敗,如果失敗則...

C 筆記七(檔案 異常)

1.基本概念 原由 程式執行時資料都是臨時資料,程式一旦執行結束便會被釋放,通過檔案可以將資料持久化。c 中檔案操作的標頭檔案為 fstream 檔案操作的三大類 class 其一,ofstream 寫操作 其二,ifstream 讀操作 其三,fstream 讀寫操作 2.文字檔案 寫檔案的步驟 ...

七 檔案處理

檔案操作 io操作 檔案操作和遠端網路都可以統稱為 io操作。文字檔案和二進位制檔案 文字檔案儲存的是普通字元,python是預設unicode碼,可以用記事本開啟,二進位制檔案是位元組儲存,無法用記事本開啟,用其他軟體開啟。建立檔案物件open f open r d a.txt r 這裡要注意,在...