FATFS實現資料追加功能(原文不覆蓋)

2021-06-29 08:35:26 字數 1553 閱讀 7622

在對fatfs的應用中我們經常需要把採集的資料存入的檔案中,用作儲存。也許我們的系統是乙個長期的執行過程,但是我們的資料可能不是持續採集的,所以我們這樣寫**

/*註冊乙個工作區域*/

f_mount(0,&fs);

/* 開啟建立乙個新檔案 */

res=f_open(&fdst,"0:/data.csv",fa_create_new | fa_write);

/* 寫入標題資料 */

res=f_write(&fdst,"年-月-日-時-分-秒,fix,track\n",29,&bw);

/* 關閉檔案 */

f_close(&fdst);

/* 資料轉換 */

size = format_data(text,324,12585);

/* 開啟檔案 */

res=f_open(&fdst,"0:/data.csv",fa_open_existing | fa_write);

/* 寫入資料 */

res=f_write(&fdst,text,size,&bw);

/* 關閉檔案 */

f_close(&fdst);
但是我們實驗之後發現沒有達到我們想要的效果,之前的標題已經被覆蓋了

那麼如何實現呢,其實fatfs替我們考慮好了,只需要乙個小函式f_lseek,,見**

/*註冊乙個工作區域*/

f_mount(0,&fs);

/* 開啟建立乙個新檔案 */

res=f_open(&fdst,"0:/data.csv",fa_create_new | fa_write);

/* 寫入標題資料 */

res=f_write(&fdst,"年-月-日-時-分-秒,fix,track\n",29,&bw);

/* 關閉檔案 */

f_close(&fdst);

/* 資料轉換 */

size = format_data(text,324,12585);

/* 開啟檔案 */

res=f_open(&fdst,"0:/data.csv",fa_open_existing | fa_write);

/* 查詢檔案的結尾 */

res=f_lseek(&fdst,f_size(&fdst));

/* 寫入資料 */

res=f_write(&fdst,text,size,&bw);

/* 關閉檔案 */

關於f_lseek函式,我們做如下解釋:

用於移動乙個已開啟檔案的讀寫的指標,在**中我們就是將寫指標移到了檔案的最後這樣就實現餓了檔案的續寫功能!

詳解vue模擬載入更多功能(資料追加)

使用vue製作載入更多功能,通過ajax獲取的資料往data裡面push經常不成功,原因是push是往陣列中追加資料內容的,而不能用作陣列之間的拼接,ajax獲取的資料就是陣列形式的,因此不成功,應該使用concat 拼接兩個陣列。這是錯誤的寫法 ajax 這是正確的寫法 ajax 模擬ajax資料...

資料匯入功能實現心得

剛接到這個需求感覺很簡單,看大致意思主要是,從excel中讀取資料並寫入到資料庫中,唯一特殊之處是有一列大字段 超過4000個字元,在資料庫中需要用clob型別儲存 需特殊處理。想了下把 寫好了。開始測試發現,匯入一條資料需要8秒左右,按這速度導20萬資料的話,不敢往下想了,於是想著 調優,優化以後...

layui實現資料分頁功能

官網layui table演示頁面 示例截圖 頁面引入layui.css layui.js 前台js var limitcount 10 var curnum 1 列表查詢方法 function productsearch productgroupid,start,limitsize 傳參 cols...