更改c语言程序保存地址吗,(C语言)修改文件时间程序(创建时间、修改时间、访问时间)...
背景
在某些情况下,我们需要对文件时间进行修改,在这里主要和大家分享一下修改文件创建时间、修改时间和访问时间的程序,C语言编写。
解决方案
我们主要调用Windows API,直接修改文件时间为自己任意设定的时间。在Windows系统中,SetFileTime函数可以直接对文件的时间属性进行修改,详细的API使用说明可以去Windows官网上查看:
BOOL SetFileTime(
HANDLE hFile,
CONST FILETIME *IpCreationTime, //文件创建时间
CONST FILETIME *IpLastAccessTime, //访问时间
CONST FILETIME *IpLastWriteTime //修改时间
);
实践
首先,我们创建一个txt文件:
新建txt文档
然后运行我们写好的程序:
程序运行截图然后我们再看文件的时间属性
运行程序后的文件时间
程序源码分享
#include
#include
#include
#include
int main(int argc, char *argv[])
{
//传参格式:filetime.exe test.txt 2011-01-08 17:00:33
SYSTEMTIME spec_time;
sscanf(argv[2], "%d-%d-%d", &spec_time.wYear, &spec_time.wMonth, &spec_time.wDay);
sscanf(argv[3], "%d:%d:%d", &spec_time.wHour, &spec_time.wMinute , &spec_time.wSecond);
spec_time.wDayOfWeek = 1;
spec_time.wMilliseconds = 0;
HANDLE hFile = CreateFile(argv[1], GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
printf("Get file handle failed,error = %s\n", GetLastError());
return -1;
}
FILETIME ft, LocalFileTime;
SystemTimeToFileTime(&spec_time, &ft);
LocalFileTimeToFileTime(&ft, &LocalFileTime);
if(SetFileTime(hFile, &LocalFileTime, &LocalFileTime, &LocalFileTime))
{
printf("success\n");
}
else
{
printf("fail\n");
}
CloseHandle(hFile);
return 0;
}
下一篇文章我会分享一篇修改文件夹时间的程序,小朋友们可以提前尝试一下!
更改c语言程序保存地址吗,(C语言)修改文件时间程序(创建时间、修改时间、访问时间)...相关推荐
- 更改c语言程序保存地址吗,C语言文本文件实现局部修改
前言:以往进行文件操作时,都是以链表(变量)作为用户所见数据与文件数据之间的桥梁.用户改变数据时,先改变链表(变量)中的数据,然后直接将整个链表重新写入文件,以做到"实时同步",非 ...
- KEIL设置程序起始地址无效解决方法,STM32 IAP程序起始地址
关键词: KEIL设置程序起始地址无效解决方法 STM32 IAP设置程序起始地址 KEIL设置程序起始地址 MDK设置程序起始地址 KEIL设置ROM地址无效 碰到的问题:为了实现STM32升级固件 ...
- keil C语言编程 位地址定义,Keil C编写下位机程序的小技巧和注意点
1. 用C直接操作DPTR方式 我们平常用Keil C访问总线一般是定义 unsigned char xdata *fardptr; fardptr=0xbf00; *fardptr=0; 来访问, ...
- c语言函数变量地址符,C语言中取地址符做函数形参?—— 引用的讨论
取地址符&做函数形参? C语言强大且危险 引入 这个问题花去了整整一天的研究. 先看一段严蔚敏的<数据结构>中栈的例程: 这里面的&S第一遍看的时候想当然的认为是取了SqS ...
- java怎么将程序保存在桌面_在Java桌面应用程序中保留数据的最佳方法是什么?...
我的桌面应用程序中有一大堆 Java对象,我试图决定将文件作为文件系统的最佳方式. 我曾经有过一些想法: >使用DataOutputStream滚动我自己的串行器:这将给我最大的控制文件中的内容 ...
- c语言指针的地址存放,c语言 - *指针 和 地址
最近在研究oc的底层,全是c/c++的代码,虽然以前学过也写过,其实不怎么用都忘得差不多了. 首先我们来了解一下 * 和 &这两个符号 通俗点儿理解其实&地址就是就是一个存放地址的变量 ...
- linux中文语言包下载地址,centos中文语言包-官方版-centos中文语言包fonts-chinese-3.02-12.el5.noarch.rpm-独木成林...
centos中文语言包 fonts-chinese-3.02-12.el5.noarch.rpm,直接在目录下运行: rpm -ivh fonts-chinese-3.02-12.el5.noarch ...
- c语言让数组地址对齐,C语言实现比特位数组在目标空间左右居中对齐三种方式...
在LED行业中,一般一个灯亮或者不亮用一个bit位来表示(这里就不谈七彩或者灰度控制卡),假如我们屏幕大小是128点,相当于宽度16个字节,如果我们让两个汉字居中显示(两个汉字占宽度4个字节),很容易 ...
- 基于python的文件传输程序_GitHub - orange0cat/python-ft: 基于socket的文件传输程序,能传输整个文件夹...
FileTransporter 这是一个基于socket(TCP)的文件(夹)传输程序 预览效果 0.环境搭建 在virtualenv环境下,cd 进入 requirements.txt所在目录,执行 ...
最新文章
- python用merge匹配和左连接_左手用R右手Python系列——数据合并与追加
- 关于因为该列没有包含在聚合函数或 GROUP BY 子句中
- (int)a和(int)a的区别
- mysql录入foreigen错误_Python MySQLdb 使用utf-8 编码插入中文数据问题
- django----admin
- lamp环境搭建经验总结
- 杰和科技多款商显方案亮相2017英特尔RCA论坛
- 机器视觉:自动织物检测系统
- angular中注入依赖(分页功能)。。。
- 新装的电脑执行maven install命令一直报Could not find artifact jdk.tools:jdk.tools:jar:1.7
- 高德地图加载白屏问题No implementation found for long com.autonavi.amap.mapcore.MapCore.nativeNew
- 腾讯翻译君在线翻译怎么翻译整个文件_7款好用的英文翻译软件推荐
- 3小时GIS入门教程(一):为什么要学GIS
- 如何修改路由器dns服务器,怎么修改路由器DNS地址
- NFS 服务端配置流程
- TensorFlow报错:ValueError The passed save_path is not a valid checkpoint
- bcm5396交换机级联配置_「收藏」Cisco交换机安全配置设定
- 【JIRA 学习】JIRA 配置缺陷的reopen 次数
- 浙大竺可桢学院混合班计算机专业,起底黄峥毕业的浙大混合班:学霸不算牛 个个是学神...
- HDU6438-Buy and Resell(贪心、思维题)
热门文章
- hadoop day 3
- iOS学习资源(二)
- (剑指Offer)面试题61:按之字形顺序打印二叉树
- Android 改变窗口标题栏的布局
- SQL Server数据库中所有表及字段信息
- setleft android,android TextView的setCompoundDrawables()方法
- 千万级游标_在一个千万级的数据库查寻中,如何提高查询效率
- 月薪3000到年薪30万,你可知“千里之行始于Python”?
- Python内置函数之输入输出函数
- Python爱好者,这里有一个库可以帮助你作为新手掌握人工智能!