(1) 功能: rename函式功能是給乙個檔案重新命名, 用該函式可以實現檔案移動功能,
把乙個檔案的完整路徑改一下就實現了這個檔案的移動.
(2) 函式原型: int rename(char *oldname, char *newname)
(3) 標頭檔案: #include
(4) oldname: 舊檔案路徑
(5) newname: 新檔案路徑
(6) 返回值: 執行成功則返回0,失敗返回-1,錯誤原因存於errno
(7) 函式說明
(a) 如果oldname為乙個檔案而不是目錄,那麼為該檔案更名。
在這種情況下,如果newname作為乙個目錄已存在,則它不能重新命名乙個目錄。
如果newname已存在,而且不是乙個目錄,則先將其刪除然後將oldname更名為newname。
對oldname所在目錄以及newname所在的目錄,呼叫程序必須具有寫許可權,因為將更改這兩個目錄。
(b) 如若oldname為乙個目錄,那麼為該目錄更名。
如果newname已存在,則它必須是乙個目錄,而且該目錄應當是空目錄(空目錄指的是該目錄中只有. 和.. 項)。
如果newname存在(而且是乙個空目錄),則先將其刪除,然後將oldname更名為newname。
另外,當為乙個目錄更名時,newname不能包含oldname作為其路徑字首。
例如,不能將/usr更名為/usr/foo/testdir,因為老名字( /usr/foo)是新名字的路徑字首,因而不能將其刪除。
(c) 作為乙個特例,如果oldname和newname引用同一檔案,則函式不做任何更改而成功返回。
示例:
#include #include #include #include #define dprint printf
#define eprint printf
#define old_name "./old_test"
#define new_name "./new_test"
int main(void)
eprint("rename old_name(%s) to new_name(%s) success \n", old_name, new_name);
return 0;
}
(1) 功能: 刪除乙個檔案
(2) 函式原型: int remove(const char *filename)
(3) 標頭檔案: #include
(4) filename: 要刪除的檔案
(5) 返回值: 如果刪除成功,remove返回0,否則返回-1
示例:
#include #include #include #include #define dprint printf
#define eprint printf
#define file_name "./new_test"
int main(void)
eprint("remove file_name(%s) success \n", file_name);
return 0;
}
使用c庫函式實現:
(1)開啟檔案: file *fopen(const char* filename, const char* mode )
(2)關閉檔案: int fclose( file *stream )
(3)檔案讀: size_t fread( void *buffer, size_t size, size_t count, file *stream )
(4)檔案寫: size_t fwrite( const void *buffer, size_t size, size_t count, file *stream )
檔案拷貝示例:
#include #include #define dprint printf //調式輸出
#define eprint printf //錯誤輸出
#define buffer_size (1024)
#define read_file "./read_file"
#define write_file "./write_file"
int main()
; size_t read_size = 0;
size_t write_size = 0;
long len = 0;
read_file = fopen(read_file, "rb");
if(null == read_file)
write_file = fopen(write_file, "wb");
if (null == write_file)
while ( (read_size = fread(buffer, 1, buffer_size, read_file)) > 0 )
len = len + write_size;
} fclose(read_file);
fclose(write_file);
eprint("copy source_file(%s) to des_file(%s) success \n", read_file, write_file);
return 0;
}
本文**:
檔案操作函式
1,feof 檢查檔案流是否讀到了檔案尾 相關函式 fopen,fgetc,fgets,fread 表頭檔案 include 定義函式 int feof file stream 函式說明 feof 用來偵測是否讀取到了檔案尾,尾數stream為fopen 所返回之檔案指標。如果已到檔案尾則返回非零值...
檔案操作函式
1 檔案測試函式 2 檔案操作 新建檔案 fopen filename,w 以 寫 的方式開啟乙個不存在的檔案,就會新建該檔案 檔案刪除 unlink 檔案複製 copy filename,aaa bb.txt 盡量使用 和相對路徑,因為linux只認 也沒有磁碟分割槽,而windows 和 都認 ...
檔案操作函式
fopenfclose函式 系統需要在記憶體中為每個讀寫的檔案開闢一段快取,快取中儲存檔案資訊的是file結構體,開啟檔案時就會獲得指向file的指標。為什麼要用快取呢,因為硬碟讀取時很慢的,機械硬碟的讀寫時間都是毫秒級,而記憶體讀寫是納秒級的,差了一百萬倍。函式原型為file fopen cons...