تابع دوم (f_open)
این تابع یک فایل رو باز میکنه یا اینکه یه فایل درست میکنه
کد:
FRESULT f_open (
FIL* FileObject, اشاره گر به ساختار فایل مورد نظر
const TCHAR* FileName, اسم فایل مورد نظر برای باز کردن و یا درست کردن فایل
BYTE ModeFlags نوع دسترسی به فایل و روش باز کردن فایل را توسط مقدار دهی زیر مشخص میکند
)
کد:
اگر FA_READ باشه اطلاعات فایل رو فقط میتونیم بخونیم . اگه با FA_WRITE ترکیب بشه خواندن و نوشتن میشه انجام داد
اگر FA_WRITE باشه اطلاعات رو در در فایل فقط میتونیم بنویسیم . اگه با FA_READ ترکیب بشه خواندن و نوشتن میشه انجام داد
اگر FA_OPEN_EXISTING باشه فایل رو باز میکنه. اگه فایل موجود نباشه کار دیگه ای نمیتونه انجام بده
اگر FA_OPEN_ALWAYS باشه و اگر فایل موجود باشه اونرو باز میکنه وگرنه یک فایل جدید با همون اسم درست میکنه
اگر FA_CREATE_NEW باشه یک فایل جدید درست میکنه اگه فایل موجود باشه تابع با FR_EXIST برگشت میخوره.
اگر FA_CREATE_ALWAYS باشه یک فایل جدید درست میکنه و اگر فایل موجود باشه اطلاعات فایل قبلی رو حذف میکنه و دوباره مینویسه
شرح:
فایل آبجکت زمانی تشکیل میشه که تابع موفق باشه .
باید فایلی رو که باز کردیم رو ببندیم با دستور (f_close) و اگه اینکار رو انجام ندیم فایلی رو که اصلاح کردیم اطلاعاتش از بین میره.
و قبل از استفاده از این دستور بایستی شماره درایو رو با دستور (f_mount) ثبت کنیم
مقادیر برگشتی
کد:
FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_NOT_READY, FR_NO_FILE, FR_NO_PATH, FR_INVALID_NAME, FR_DENIED, FR_EXIST,
FR_WRITE_PROTECTED, FR_INVALID_DRIVE, FR_NOT_ENABLED, FR_NO_FILESYSTEM, FR_TIMEOUT, FR_LOCKED,
FR_NOT_ENOUGH_CORE, FR_TOO_MANY_OPEN_FILES