X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/05437fb4cdb907816a4fc3ffafa2617fcf33266a..b40024e18f0750418894d1b0cf3fcaf99ffb09a3:/fatfs/doc/en/open.html diff --git a/fatfs/doc/en/open.html b/fatfs/doc/en/open.html deleted file mode 100644 index d61a7a4..0000000 --- a/fatfs/doc/en/open.html +++ /dev/null @@ -1,173 +0,0 @@ - - -
- - - - - -The f_open function creates a file object to be used to access the file.
--FRESULT f_open ( - FIL* fp, /* [OUT] Pointer to the file object structure */ - const TCHAR* path, /* [IN] File name */ - BYTE mode /* [IN] Mode flags */ -); --
Value | Description |
---|---|
FA_READ | Specifies read access to the object. Data can be read from the file. Combine with FA_WRITE for read-write access. |
FA_WRITE | Specifies write access to the object. Data can be written to the file. Combine with FA_READ for read-write access. |
FA_OPEN_EXISTING | Opens the file. The function fails if the file is not existing. (Default) |
FA_OPEN_ALWAYS | Opens the file if it is existing. If not, a new file is created. -To append data to the file, use f_lseek() function after file open in this method. |
FA_CREATE_NEW | Creates a new file. The function fails with FR_EXIST if the file is existing. |
FA_CREATE_ALWAYS | Creates a new file. If the file is existing, it will be truncated and overwritten. |
-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_INVALID_OBJECT, -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 -
-After f_open() function succeeded, the file object is valid. The file object is used for subsequent read/write functions to identify the file. To close an open file, use f_close() function. If the file is modified and not closed properly, the file data will be collapsed.
-If duplicated file open is needed, read here carefully. However duplicated open of a file with write mode flag is always prohibited.
-Before using any file function, a work area (file system object) must be registered to the logical drive with f_mount() function. All API functions except for f_fdisk() function can work after this procedure.
-Always available. The mode flags, FA_WRITE, FA_CREATE_ALWAYS, FA_CREATE_NEW and FA_OPEN_ALWAYS, are not available when _FS_READONLY == 1.
--/* Read a text file and display it */ - -FATFS FatFs; /* Work area (file system object) for logical drive */ - -int main (void) -{ - FIL fil; /* File object */ - char line[82]; /* Line buffer */ - FRESULT fr; /* FatFs return code */ - - - /* Register work area to the default drive */ - f_mount(&FatFs, "", 0); - - /* Open a text file */ - fr = f_open(&fil, "message.txt", FA_READ); - if (fr) return (int)fr; - - /* Read all lines and display it */ - while (f_gets(line, sizeof line, &fil)) - printf(line); - - /* Close the file */ - f_close(&fil); - - return 0; -} --
-/* Copy a file "file.bin" on the drive 1 to drive 0 */ - -int main (void) -{ - FATFS fs[2]; /* Work area (file system object) for logical drives */ - FIL fsrc, fdst; /* File objects */ - BYTE buffer[4096]; /* File copy buffer */ - FRESULT fr; /* FatFs function common result code */ - UINT br, bw; /* File read/write count */ - - - /* Register work area for each logical drive */ - f_mount(&fs[0], "0:", 0); - f_mount(&fs[1], "1:", 0); - - /* Open source file on the drive 1 */ - fr = f_open(&fsrc, "1:file.bin", FA_OPEN_EXISTING | FA_READ); - if (fr) return (int)fr; - - /* Create destination file on the drive 0 */ - fr = f_open(&fdst, "0:file.bin", FA_CREATE_ALWAYS | FA_WRITE); - if (fr) return (int)fr; - - /* Copy source to destination */ - for (;;) { - fr = f_read(&fsrc, buffer, sizeof buffer, &br); /* Read a chunk of source file */ - if (fr || br == 0) break; /* error or eof */ - fr = f_write(&fdst, buffer, br, &bw); /* Write it to the destination file */ - if (fr || bw < br) break; /* error or disk full */ - } - - /* Close open files */ - f_close(&fsrc); - f_close(&fdst); - - /* Unregister work area prior to discard it */ - f_mount(NULL, "0:", 0); - f_mount(NULL, "1:", 0); - - return (int)fr; -} --