簡(jiǎn)要對(duì)比C語(yǔ)言中的truncate()函數(shù)與ftruncate()函數(shù)
C語(yǔ)言truncate()函數(shù):改變文件大小
頭文件:
#include <unistd.h>
定義函數(shù):
int truncate(const char * path, off_t length);
函數(shù)說(shuō)明:truncate()會(huì)將參數(shù)path 指定的文件大小改為參數(shù)length 指定的大小. 如果原來(lái)的文件大小比參數(shù)length 大, 則超過(guò)的部分會(huì)被刪去.
返回值:執(zhí)行成功則返回0, 失敗返回-1, 錯(cuò)誤原因存于errno.
錯(cuò)誤代碼:
1、EACCESS 參數(shù)path 所指定的文件無(wú)法存取。
2、EROFS 欲寫(xiě)入的文件存在于只讀文件系統(tǒng)內(nèi)。
3、EFAULT 參數(shù)path 指針超出可存取內(nèi)存空間。
4、EINVAL 參數(shù)path 包含不合法字符。
5、ENAMETOOLONG 參數(shù)path 太長(zhǎng)。
6、ENOTDIR 參數(shù)path 路徑并非一目錄。
7、EISDIR 參數(shù)path 指向一目錄。
8、ETXTBUSY 參數(shù)path 所指的文件為共享程序, 而且正被執(zhí)行中。
9、ELOOP 參數(shù)path 有過(guò)多符號(hào)連接問(wèn)題。
10、EIO I/O 存取錯(cuò)誤。
C語(yǔ)言ftruncate()函數(shù):改變文件大小
頭文件:
#include <unistd.h>
定義函數(shù):
int ftruncate(int fd, off_t length);
函數(shù)說(shuō)明:ftruncate()會(huì)將參數(shù)fd 指定的文件大小改為參數(shù)length 指定的大小。參數(shù)fd 為已打開(kāi)的文件描述詞,而且必須是以寫(xiě)入模式打開(kāi)的文件。如果原來(lái)的文件大小比參數(shù)length 大,則超過(guò)的部分會(huì)被刪去。
返回值:執(zhí)行成功則返回0, 失敗返回-1, 錯(cuò)誤原因存于errno.
錯(cuò)誤代碼:
1、EBADF 參數(shù)fd 文件描述詞為無(wú)效的或該文件已關(guān)閉。
2、EINVAL 參數(shù)fd 為一socket 并非文件, 或是該文件并非以寫(xiě)入模式打開(kāi)。
相關(guān)文章
c++ 讓程序開(kāi)機(jī)自動(dòng)啟動(dòng)的方法
這篇文章主要介紹了c++ 讓程序開(kāi)機(jī)自動(dòng)啟動(dòng)的方法,需要的朋友可以參考下2017-09-09基于C/C++將派生類(lèi)賦值給基類(lèi)的超詳細(xì)講解
類(lèi)其實(shí)也是一種數(shù)據(jù)類(lèi)型,也可以發(fā)生數(shù)據(jù)類(lèi)型轉(zhuǎn)換,下面這篇文章主要給大家介紹了關(guān)于基于C/C++將派生類(lèi)賦值給基類(lèi)的超詳細(xì)講解,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06C++實(shí)現(xiàn)LeetCode(146.近最少使用頁(yè)面置換緩存器)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(146.近最少使用頁(yè)面置換緩存器),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C語(yǔ)言使用結(jié)構(gòu)體實(shí)現(xiàn)簡(jiǎn)單通訊錄
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言使用結(jié)構(gòu)體實(shí)現(xiàn)簡(jiǎn)單通訊錄,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02解析如何在C語(yǔ)言中調(diào)用shell命令的實(shí)現(xiàn)方法
本篇文章是對(duì)如何在C語(yǔ)言中調(diào)用shell命令的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05QT+OpenGL實(shí)現(xiàn)簡(jiǎn)單圖形的繪制
這篇文章主要為大家詳細(xì)介紹了如何利用QT和OpenGL實(shí)現(xiàn)簡(jiǎn)單圖形的繪制,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2022-12-12VTK8.1?在?Qt5.9?環(huán)境下的配置編譯和安裝過(guò)程
為了實(shí)現(xiàn)realsense的PCL點(diǎn)云顯示,需要VTK支持。由于整個(gè)平臺(tái)在Qt環(huán)境實(shí)現(xiàn),VTK編譯為Qt插件。整個(gè)過(guò)程并不復(fù)雜,網(wǎng)上的文章大多不全,自己梳理了一下,分享出來(lái),需要的朋友可以參考下2022-07-07