DOS环境下使用TurboC修改文件时间戳源代码
需积分: 10 113 浏览量
更新于2024-10-16
收藏 2KB TXT 举报
"TurboC写的修改文件创建时间、修改时间的源代码"
这段代码是用 TurboC 编程语言编写的,它的主要功能是修改文件的创建时间和修改时间。TurboC 是 Borland 公司在 1980 年代末至 1990 年代初推出的一款 C 语言编译器,它在 DOS 环境下运行,广泛用于教学和早期的个人计算机编程。
代码中的 `touch.c` 文件包含了若干个函数,其中最主要的函数是 `touch()`,这个函数的目的是将指定文件的时间戳更新为当前系统时间。`touch` 命令在许多操作系统中都有,通常用于更新文件或目录的访问时间(atime)和修改时间(mtime),但在这个特定的实现中,它也更新了文件的创建时间(ctime)。
代码首先引入了几个头文件,这些头文件提供了必要的函数和结构体定义,以便于操作文件和时间:
- `<stdio.h>`:标准输入输出库,包含基本的输入输出函数,如 `printf`。
- `<dos.h>`:DOS 操作系统相关的函数和宏,如 `getdate` 和 `gettime`。
- `<dir.h>`:DOS 目录操作,提供了 `findfirst` 和 `findnext` 函数,用于遍历目录。
- `<io.h>`:I/O 流操作,如打开和关闭文件。
- `<fcntl.h>`:文件控制,定义了 `open` 和 `close` 等函数。
`help()` 函数用于显示程序的使用帮助,它列出了命令的语法和用途。`error()` 函数则在找不到文件时调用,输出错误信息并退出程序。
`touch()` 函数接收一个参数 `file`,表示要修改时间的文件名。它首先获取当前系统的日期和时间,然后将这些时间信息填入 `struct ftimemyftime` 结构体,这个结构体对应了文件的时间戳。接着,代码尝试找到文件并更新其时间信息。如果文件不存在,`findfirst` 会返回错误,程序调用 `error()` 函数。
代码中的 `findfirst` 和 `findnext` 函数是 DOS 的目录遍历函数,它们用于查找匹配指定模式的文件。`strrchr` 函数用于在字符串中查找最后一个指定字符,这里是为了处理带有路径的文件名。
最后,代码使用 `open` 函数打开文件,`_chsize` 更新文件大小(这可能是因为某些版本的 `touch` 需要更改文件大小以更新时间),然后用 `close` 关闭文件。`_chtime` 和 `_utime` 函数分别用于设置文件的修改时间和创建时间。
这段代码虽然在 DOS 环境下有效,但在现代操作系统中,如 Windows 或 Linux,需要使用不同的方法来修改文件时间戳,因为这些系统提供了不同的 API 和工具来处理文件属性。在 Windows 中,可以使用 `SetFileTime` 函数,而在 Unix/Linux 系统中,可以使用 `utimensat` 或 `utimes` 函数。
2010-08-23 上传
2021-09-09 上传
2011-08-26 上传
2010-03-30 上传
2007-05-25 上传
2008-03-15 上传
2008-06-01 上传
2008-06-27 上传
2008-09-12 上传
gogoily
- 粉丝: 0
- 资源: 7
最新资源
- SSM Java项目:StudentInfo 数据管理与可视化分析
- pyedgar:Python库简化EDGAR数据交互与文档下载
- Node.js环境下wfdb文件解码与实时数据处理
- phpcms v2.2企业级网站管理系统发布
- 美团饿了么优惠券推广工具-uniapp源码
- 基于红外传感器的会议室实时占用率测量系统
- DenseNet-201预训练模型:图像分类的深度学习工具箱
- Java实现和弦移调工具:Transposer-java
- phpMyFAQ 2.5.1 Beta多国语言版:技术项目源码共享平台
- Python自动化源码实现便捷自动下单功能
- Android天气预报应用:查看多城市详细天气信息
- PHPTML类:简化HTML页面创建的PHP开源工具
- Biovec在蛋白质分析中的应用:预测、结构和可视化
- EfficientNet-b0深度学习工具箱模型在MATLAB中的应用
- 2024年河北省技能大赛数字化设计开发样题解析
- 笔记本USB加湿器:便携式设计解决方案