MTK檔案讀寫相關

2021-08-22 20:24:32 字數 3047 閱讀 6559

**相關檔案

檔案操作函式的標頭檔案為fs_func.h

常用的檔案操作函式有:

extern int fs_open(const wchar * filename, uint flag);

extern int fs_close(fs_handle filehandle);

extern int fs_read(fs_handle filehandle, void * dataptr, uint length, uint * read);

extern int fs_write(fs_handle filehandle, void * dataptr, uint length, uint * written);

extern int fs_seek(fs_handle filehandle, int offset, int whence);

extern int fs_commit(fs_handle filehandle);

extern int fs_delete(const wchar * filename);

extern int fs_getcurrentdir(wchar * dirname, uint maxlength);

extern int fs_setcurrentdir(const wchar * dirname);

extern int fs_createdir(const wchar * dirname);

extern int fs_removedir(const wchar * dirname);

extern int fs_findfirst(const wchar * namepattern, byte attr, byte attrmask,

fs_dosdirentry * fileinfo, wchar * filename, uint maxlength);

extern int fs_findnext(fs_handle filehandle, fs_dosdirentry * fileinfo, wchar *

filename, uint maxlength);

檔案操作所用到的資料結構有都放在fs_type.h裡,如fs_open的第二個引數(也即開啟模式)列表

如下:#define fs_read_write 0x00000000l

#define fs_read_only 0x00000100l

#define fs_open_shared 0x00000200l

#define fs_open_no_dir 0x00000400l

#define fs_open_dir 0x00000800l

#define fs_create 0x00010000l

#define fs_create_always 0x00020000l

#define fs_committed 0x01000000l

#define fs_cache_data 0x02000000l

#define fs_lazy_data 0x04000000l

#define fs_nonblock_mode 0x10000000l

#define fs_protection_mode 0x20000000l

檔案操作的返回值定義放在檔案fs_errcode.h,如:

#define fs_no_error 0

#define fs_error_reserved -1

#define fs_param_error -2 /* user */

#define fs_invalid_filename -3 /* user */

#define fs_drive_not_found -4 /* user or fatal */

#define fs_too_many_files -5 /* user or normal: use over max file

handle number or more than 256 files in sort */

#define fs_no_more_files -6 /* normal */

#define fs_wrong_media -7 /* fatal */

#define fs_invalid_file_system -8 /* fatal */

#define fs_file_not_found -9 /* user or normal */

#define fs_invalid_file_handle -10 /* user or normal */

#define fs_unsupported_device -11 /* user */

#define fs_unsupported_driver_function -12 /* user or fatal */

#define fs_corrupted_partition_table -13 /* fatal */

#define fs_too_many_drives -14 /* not use so far */

#define fs_invalid_file_pos -15 /* user */

#define fs_access_denied -16 /* user or normal */

#define fs_string_buffer_too_small -17 /* user */

如果返回值大於0,說明返回正確。

檔案操作函式實現放在fssim_core.c裡:如:

int fs_close(fs_handle file)

else

fssim_give_mutex(fssim_mutex); /* critical section } */

fssim_free_fh(file);

return fs_no_error;

}**檔案系統

mtk使用fat檔案系統,對於模擬器檔案系統放在目錄win32fs下,如drive_c、drive_d等等。例如:

fs_open(l"c:", fs_read_only);

上面語句以讀模式開啟c盤下的a.txt檔案,檔名的字元編碼是ucs-2。

MTK檔案讀寫相關

相關檔案 檔案操作函式的標頭檔案為fs func.h 常用的檔案操作函式有 extern int fs open const wchar filename,uint flag extern int fs close fs handle filehandle extern int fs read fs...

檔案讀寫相關函式

include int creat const char path,mode t mode int open const char path,int oflag,int openat inf fd,const char path,int oflag,include int close int fd ...

詳解MTK編譯命令及相關檔案

詳解 mtk編譯命令及相關檔案 mtk編譯分資源的編譯和 的編譯 一 資源的編譯 1 在如下的情況下,需要重新編譯資源 1 修改了字串資源檔案 ref list.txt 字型檔檔案 fontres.c,l h mmi配置檔案 mmi featurespluto.h 等,這些檔案位於 plutommi...