c語言文件分屏顯示,通用子目錄文件顯示方法

通用子目錄文件顯示方法

在用CHKDS/V對磁盤子目錄及子目錄文件進行查找時,由于輸出顯示信息沒有分屏顯示,很容易錯過需要的信息,并且顯示信息沒有標記出隱藏的子目錄名及子目錄文件名,這樣就對進一步的子目錄及文件操作帶來許多不便。若輔以管道操作采用CHKDSK/V:|MORE,雖然可分屏顯示,但等待輸出時間過長,而且這時^_Break中斷被封鎖,效果不盡人意。本文針對于此采用截獲^_Break和分屏緩沖輸出技術實現子目錄和子目錄文件及其屬性的顯示。

56cc1925f4be1b3639d0f2713aa04867.png

一、實現原理

子目錄和子目錄文件的查找是通過C語言函數findfirst和findnext采用遞歸算法實現的。

子目錄和子目錄文件的屬性是根據屬性字來判斷。屬性字格式如下圖所示:

-----------------

|7|6|5|4|3|2|1|0|

-----------------

第0位(只讀位):取1表示只讀

第1位(隱含位):取1表示隱含

第2位(系統位):取1表示系統

第3位(卷標位):取1表示卷標

第4位(子目錄位):取1表示子目錄

第5位(歸檔位):取1表示歸檔

第6、7位:保留未用

在子目錄及子目錄文件查找的遞歸調用前,保存^_Break標記并封鎖^_Break中斷,在正常結束或截獲^_Break中斷(或ESC信號)后恢復^_Break標記,并恢復指定驅動器的當前子目錄、當前驅動器以及當前驅動器的當前子目錄。

在子目錄和子目錄文件的分屏緩沖輸出顯示方面,建立一輸出緩沖區BUFFER[80*25]來完成結果信息的分屏緩沖輸出。

二、程序功能

本程序功能有分屏顯示指定驅動器(缺省時為當前驅動器)、指定目錄(缺省時為當時目錄)中的指定文件(缺省時為*.*)及其所包含的子目錄和子目錄中的指定文件(缺省時為*.*)。對于子目錄顯示其子目錄名及其屬性,對于文件顯示匹配的文件名、長度、建立時間及屬性,最后輸出匹配的文件個數及所包含的子目錄個數。在查找過程中可按^_Break或ESC鍵退出并返回當前驅動器及其當前目錄,若指定驅動器不是當前驅動器則恢復指定驅動器的`當前目錄。

下面舉例說明隱藏子目錄的查找。

假定在驅動器A上建立子目錄TEMP,用PCTOOLS或 NORTON工具軟件將其屬性由10改為FF。這樣在DOS狀態下鍵入CD TEMP,系統會提示出錯。

作用CHKDSK A:,系統提示:

Cannot CHDIR to A:\TEMP,

tree past this point not processed

使用本程序,運行結果認為TEMP為一文件,其屬性為HSRALD,表示這是一個子目錄,可據此推猜其為一加密子目錄,可進一步用NORTON工具軟件解密。

三、實現實例

實例是在386兼容機、BORLAND C 3.1集成環境和DOS 6.0操作系統支持下調試通過,實現源程序附后。

需要指出的不足是,由于findfirst與findnext是通過查找目錄項區實現其功能的,所以對一些與FAT表不符的隱藏文件及子目錄的方法本程序不能奏效,建議結合CHKDSK使用本程序。

另外,本文采用的封鎖^_Break的方法適用于查找過程,但在屏幕輸出過程中不能做到封鎖^_Break中斷。若需在查、屏幕輸出過程中均封鎖^_Break中斷,可采用ctrbrk函數另建一個^_Break中斷服務程序。

#include

#include

#include

#include

#include

#include

[1]?[2]?[3]?[4]

【通用子目錄文件顯示方法】相關文章:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396769.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396769.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396769.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

hibernate--

正向工程: 通過創建Java代碼生成表文件 反向工程: 把表創建完自動生成代碼 轉載于:https://www.cnblogs.com/Catherinezhilin/p/9687126.html

Javascript、Dom、JQuery

1、Javascript JavaScript是一種屬于網絡的腳本語言,已經被廣泛用于Web應用開發,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實現自身的功能的。 1.1 存在形式 1 1、文件形式 2 <script src"../jqu…

mysql鏡像_Mysql phpmyadmin docker鏡像安裝

前言1.介于mysql的安裝很容易出現各種坑&#xff0c;本文使用 mysql 的docker鏡像2.為了方便管理mysql數據庫又不暴露mysql服務&#xff0c;所以使用phpmyadmin管理pull鏡像#下載mysql鏡像docker pull mysql#下載phpmyadmin鏡像docker pull phpmyadmin/phpmyadmin創建網絡docke…

linux安裝lrzsz,并使用rz sz 命令

1 centeos中使用 yum -y install lrzsz 命令下載并安裝 2 使用 rz 命令將windows文件上傳到linux 3 使用 sz 命令將linux文件下載到windows 例如&#xff1a; 4 tar zcvf dbq.tar.gz files/ 打包指定文件夾 5 sz dbq.tar.gz 轉載于:https://www.cnblogs.com/shaner/p/6387516.h…

c語言智能小車項目的感想,智能小車畢業論文(完整版)要點分析.doc

學 士 學 位 論 文系 別&#xff1a; 計算機科學與技術學科專業&#xff1a; 計算機科學與技術姓 名&#xff1a; 2011年 0月智能小車引導控制系統的設計與實現系 別&#xff1a; 計算機科學與技術學科專業&#xff1a;姓 名&#xff1a;2011年 0月智能小車引導控制系統的設計與…

慈不掌兵,義不行賈,爛好人難成大業!

兩個月前&#xff0c;朋友的創業公司倒閉了。 朋友是溫文爾雅的白面君子&#xff0c;有著光鮮的履歷和出眾的能力。和他聊天&#xff0c;永遠覺得沐浴春風。溫潤如玉&#xff0c;充滿魅力。 朋友細致而體貼。他記得你的生日時&#xff0c;并在那天給發送祝福和紅包&#xff1b;…

maven項目構建

Maven是apache的一個開源項目。是一個用來把源代碼構建成可發布的構件的工具。 Maven的功能非常強大&#xff0c;可以認為是一個項目管理工具&#xff0c;不僅僅是一個構建工具。 Maven本身的核心很小&#xff0c;但是可以在上面擴展出很多的插件。Mven采用的是插件的思想&…

c++如何打開hdf5文件_如何打開CSV格式文件才能正常使用?

正文開始前先給大家來一波福利&#xff0c;歡迎大家掃碼關注后&#xff0c;手動發送“薪酬”領取《企業薪酬管理必備資料包》&#xff01;注意&#xff1a;先掃碼關注再回復回復關鍵詞&#xff01;先掃碼關注再回復回復關鍵詞&#xff01;先掃碼關注再回復回復關鍵詞&#xff0…

Linux驅動技術(四) _異步通知技術

異步通知的全稱是"信號驅動的異步IO"&#xff0c;通過"信號"的方式&#xff0c;放期望獲取的資源可用時&#xff0c;驅動會主動通知指定的應用程序&#xff0c;和應用層的"信號"相對應&#xff0c;這里使用的是信號"SIGIO"。操作步驟是…

陜理工高級語言程序設計實驗 (C)答案,陜理工高級語言程序計實驗 (C)模板.doc

陜理工高級語言程序計實驗 (C)模板《高級語言程序設計(C)》實驗報告目錄實驗一&#xff1a;C開發環境與順序結構程序設計21&#xff0e;實驗目的&#xff1a;22&#xff0e;實驗環境&#xff1a;23&#xff0e;實驗步驟&#xff1a;24&#xff0e;實驗內容&#xff1a;25&#…

java集合(1)-概述

Java集合類是一種特別有用的工具類,可用于存儲數量不等的對象,并可以實現常用的數據結構,如棧,隊列等,此外Java集合還可以用于保存具有映射關系的關聯數組.java集合大致可分為Set,List,Queue和Map四種體系,其中Set代表無序,不可重復的集合;List代表有序,重復的集合;而Map則代表…

UVA1262Password(第K字典序)

題目鏈接 紫書P323 題意&#xff1a;兩個6*5的字母矩陣&#xff0c;兩個矩陣每列相同的字母&#xff0c;每列取一個&#xff0c;求按照字典序第k小的序列 分析&#xff1a; 對于第一個樣例來說&#xff0c;我們得到{ACDW}、{BOP}、{GMOX}、{AP}、{GSU} 則一共有43423288種密碼&…

自定義 View 循環滾動刻度控件

LoopScaleView 先看效果圖: enter description hereLoopScaleView 是一個自定義的刻度尺風格的選值控件,從上面的動圖大家可以看到 LoopScaleView 的運行效果.可以設置屏幕內顯示的刻度數,也可以設置每一個刻度代表的值得大小。 LoopScaleView.class Nested class OnValueChang…

go 類型斷言_(57)接口的類型斷言

GO提供了一個方法&#xff0c;用來判斷接口的底層值是什么類型類型斷言 提供了訪問接口值底層具體值的方式。t : i.(T)該語句斷言接口值 i 保存了具體類型 T&#xff0c;并將其底層類型為 T 的值賦予變量 t。若 i 并未保存 T 類型的值&#xff0c;該語句就會觸發一個panic。為了…

使用web3j構建以太坊錢包

創建一個以太坊錢包有多種方式&#xff0c;一般情況下可以通過geth、EtherumWallet等客戶端。對于前端&#xff0c;可以使用插件MetaMask進行創建。這幾種方式技術實現雖然不同&#xff0c;但底層原理是一致的。本文主要介紹如何通過web3j架構創建一個以太坊的冷錢包&#xff0…

Html、CSS、JavaScript 實時效果在線編輯器 - 學習的好工具,算不算?!

關于 二維碼 與 NFC 之間的出身貧賤說太陽火神的漂亮人生 (http://blog.csdn.net/opengl_es)本文遵循“署名-非商業用途-保持一致”創作公用協議轉載請保留此句&#xff1a;太陽火神的漂亮人生 - 本博客專注于 敏捷開發及移動和物聯設備研究&#xff1a;iOS、Android、Html5、…

android自定義更新,Android 完美解決自定義preference與ActivityGroup UI更新的問題

之前發過一篇有關于自定義preference 在ActivityGroup 的包容下出現UI不能更新的問題&#xff0c;當時還以為是Android 的一個BUG 現在想想真可笑 。其實是自己對機制的理解不夠深刻&#xff0c;看來以后要多看看源碼才行。本篇講述內容大致為如何自定義preference 開始到與Act…

vxlan 資料及其在 neutron中的應用

2019獨角獸企業重金招聘Python工程師標準>>> VXLAN 是一個新興的SDN 標準&#xff0c;它定義了一種新的 overlay 網絡&#xff0c;它主要的創造者是 VMware, Cisco 和 Arista。它被設計來消除虛擬化網絡世界中的 VLAN 數目的限制。VXLAN 本身是一個多播標準&#xf…

橫流式冷卻塔計算風量_研討丨卓展標準高效制冷機房技術之影響冷卻塔效率的幾個因素...

集中制冷用空調系統中&#xff0c;單臺冷卻塔的冷卻水量基本上都小于1,000m/h&#xff0c;且裝有淋水填料的橫流機械通風開式居多。本文將已橫流開式冷卻塔為對象&#xff0c;探討影響其效率的幾個因素。橫流開式冷卻塔示意圖如下所示&#xff1a;橫流開式冷卻塔示意圖 Fig 01說…

我是培訓出來的我怕誰

引子: 江小峰是我帶過的徒弟中跟我最久&#xff0c;也是最聰明的一個。 他一個高中生&#xff0c;沒上過大學&#xff0c;高中畢業后在老家賣了三年電腦&#xff0c;天天給人裝操作系統&#xff0c;有天他在網上看到某培訓機構招生簡介&#xff0c;一時沖動揣上三年血汗錢&…