C語言一次性讀取檔案全部內容

2021-06-13 20:32:23 字數 608 閱讀 6796

關鍵是獲取檔案大小,知道檔案大小就可以用fread一次讀入記憶體中。

使用fseek()定位到檔案末尾,ftell()計算當前檔案位置指標相對於檔案首的偏移位元組數,也就是檔案的大小,最後用rewind()重新定位到檔案開頭位置,ok!fread()搞定。我下面這個函式寫的不怎麼好,大家理解思想就行了。

/**

* 讀取檔案內容

* path:檔案路徑

* length:檔案大小(out)

* return:檔案內容

*/char * readfile(char * path, int *length)

fseek(pfile, 0, seek_end);

*length = ftell(pfile);

data = (char *)malloc((*length + 1) * sizeof(char));

rewind(pfile);

*length = fread(data, 1, *length, pfile);

data[*length] = '\0';

fclose(pfile);

return data;

}

檔案操作 一次性產生多個檔案

函式原型為 int sprintf char str,const char format,1 根據格式從字串中提取資料。如從字串中取出整數 浮點數和字串等。2 取指定長度的字串 3 取到指定字元為止的字串 4 取僅包含指定字符集的字串 5 取到指定字符集為止的字串 其實說白了,這個函式用法跟prin...

LINUX串列埠一次不能全部讀取串列埠內容

菜鳥級別的問題,希望對像我一樣的人有所幫助。我在做乙個串列埠通訊,上位機通過串列埠向控制板傳送訊號,訊號的長度為23個位元組。我使用linux程式設計,自帶的read 函式,用乙個50個自己的陣列來讀,但是讀取的位元組數為8,9,13等不確定長度。不知道怎麼做,想起來以前有個師兄跟我提過,微控制器讀...

django 一次性上傳多個檔案, 批量上傳

在用django 寫檔案上傳的時候,從request.files myfiles 獲取到的檔案始終只有乙個,但在html頁面上明明用 html5 的 檔案控制項選擇了多個檔案,用的是chrome 瀏覽器,一次可以選擇多個檔案上傳。在 pydev 開啟debug模式,檢視request 物件,發現上傳...