fstat

    1熱度

    1回答

    我正在寫一個實用程序來遞歸掃描目錄樹並記錄文件名和大小的樹結構。 (儘可能快) 也許我已經把自己編碼到了一個角落。我可以用readdir(3)獲取目錄的內容,並分別處理常規文件和目錄。 我看不到如何獲得除openat(), fstat(), close()調用以外的常規文件的文件大小。 有沒有辦法在我處理目錄條目時更直接地獲取文件大小?也許從inode號碼? 我期待這會存在:statat(int

    5熱度

    1回答

    我一直在處理一個問題,現在需要更新20年的代碼,這些代碼需要獨立於系統(可以在Linux和Windows上運行)。它涉及檢查時間(Time-of-Check),使用時間(TOCTOU)問題。我做了一個線程here,但它並沒有走得太遠,在反覆思考了一段時間並深入研究這個問題之後,我想我理解我的問題會好一點。也許我可以問得更好一點... 從我讀過的代碼需要檢查文件是否存在,是否可訪問,打開文件,做一些

    0熱度

    2回答

    如果我不知道一個文件是否存在。如果存在,我將根據該文件中的內容做一些事情。該文件可能是.txt或.gz格式,並且該文件也可能不存在。 下面是我的代碼: //Check whether is a zip file char *pre_pcom_file_copy = new char[strlen(pre_pat_file)+7]; strcpy (pre_pcom_fil

    1熱度

    1回答

    我有一段遺留代碼發佈到fsync調用fstat呼叫前確定目標文件的文件大小。 (具體的代碼只訪問st_size出來的統計結構的。) 說完看了看文檔,我不相信這是一個必要的電話,但我想專家的意見。

    3熱度

    1回答

    如何獲取描述符類型?我使用epoll來監視許多描述符,例如套接字,定時器和信號。我看到使用fstat是可能的,但是模式只說了一些關於套接字和管道的內容。 fstat manpage。是否有一個特殊的功能來標識描述符?

    6熱度

    3回答

    我在C中編寫了一個學校作業,用於搜索目錄,常規文件和符號鏈接的文件系統。現在我使用lstat來獲取有關項目的信息。 那麼lstatfstat和stat系統調用之間有什麼區別?

    1熱度

    2回答

    如何獲取系統中文件描述符的當前計數? 我知道如何獲得最大值。 % sysctl kern.maxfiles kern.maxfiles: 8232 編號: http://www.freebsd.org/cgi/man.cgi?query=fstat&apropos=0&sektion=0&manpath=FreeBSD+9.0-RELEASE&arch=default&format=html

    0熱度

    1回答

    我需要使用文件描述符來監視常規文件上的事件。我正在使用CentOS 4.1和內核版本2.6.18.128。 在意識到使用epoll無法監視常規文件後,我發現可以使用inotify完成此任務。但是,我在其他地方看到,inotify所需的庫接口已添加到版本2.4中的glibc,並且我的機器已安裝2.3.4版。所以我的內核通過不glibc來獲得支持。不幸的是,我不能更新glibc到一個較新的版本,因爲它

    1熱度

    1回答

    所以,我有一個任務,基本上是比較與庫函數相對的系統調用速度的練習。我們正在對通過stdin從文件中獲取的字符串進行排序。我們應該確定文件是否是普通文件或者不使用fstat。我已經通讀了手冊頁,雖然我知道它做了什麼,但我在解決如何使用它時遇到了問題。 我知道它返回一個stat結構,所以我可以從字面上做一個變量並將其存儲嗎?例如: int n; struct stat *val; n = fsta

    0熱度

    1回答

    我比較2個文件大小的代碼看起來好像是keyfile>sourcefile。下面的代碼中是否有缺少的內容,我可以更改哪些內容?我用於測試的兩個文件是3kb密鑰文件和14kb源文件,它應激活以下提供的最後一個if語句。 /* Get size of sourcefile. */ if((sourcefile = fopen(argv[1], "rb"))== NULL) { printf("Ca