- 博客(37)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 吐槽:在线UTC转年月日的网站,没一个做对的吗?
近日,想把负数的UTC时间戳,即1970年之前的时间,转换成可阅读的年/月/日格式。然后悲剧的发现,这个目标用标准C库中的gmtime/mktime/ctime等函数无法实现,原因是不支持UTC时间戳为负数。第一反应是,先到网上寻找在线计算工具。这里以UTC =为例,在各网站上进行试算。
2023-11-28 09:49:52
259
原创 防止硬盘休眠
某些硬盘盒或易驱线具有一段时间无访问时自动休眠(停转硬盘)的功能,而恢复访问可能需要10秒,造成卡顿。这有时候是个麻烦。如何避免?写一个程序,功能是 定时访问硬盘,避免硬盘进入休眠状态。访问方法是,在驱动器根目录下创建一个固定文件名的隐藏文件并删除。把以下代码保存为NoSleepHD.cpp 后编译,将得到的exe文件放到系统启动项中。这个exe文件在动态链接时大小只有4KB(静态链接46KB),运行时对系统几乎没有影响。另外,对磁盘的访问量极少,可参见后面监控图。说明:默认访问硬盘的间..
2021-06-30 16:33:42
2939
1
原创 解决MinGW/MSYS命令执行过慢的方法
有很多人在使用MinGW的时候,遇到过这样的问题:一条简单的sed或grep命令,执行时间长达30秒甚至更多。有人说这是因为使用WindowsAPI莫ifork导致解决方法是,在
2021-06-02 13:17:27
2444
1
原创 禁用Explorer对ZIP/CAB支持
起因:这东西挺烦人的,在文件目录树中占位置。实际中电脑上已经有对应的第三方压缩程序,可以替换它的功能。XP系统只需要执行命令即可:
2021-06-01 16:57:40
366
1
原创 开启Win10对长路径名的支持
我们在程序中,有时候会遇到因路径名过长(超过MAX_PATH260个字符)而导致文件操作失败的情况。比如百度网盘下载时遇到文件名过长,显示“本地路径无效”的错误。在Win10中,有一种简便的方法,可以绕开大部分这样的错误。方法是,修改注册表中HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem 下的LongPathsEnabled 的值,从默认值0 修改为 1,如下图。可能有人问,为什么 MAX_PATH是 2...
2021-04-04 23:36:30
5527
2
原创 关闭Win10自动磁盘碎片整理
Win10系统在空闲状态时,会在后台自动执行磁盘碎片整理程序,包括对外接的移动硬盘。有时候这不是用户希望的行为,在我这里,持续的磁盘碎片整理引起了硬盘发烫,严重损伤硬盘寿命。关闭方法:在Windows服务中,对Optimize drivers服务,设置为 禁用 。...
2021-04-01 13:42:28
5611
原创 Visual Studio 单步跟踪时禁止进入指定函数
我们有时候在Visual Studio中单步调试代码(F11 Step into)的时候,经常进入了不想进入的函数,比如 shared_ptr 的方法、运算符重载和某些构造函数,这有点烦人。如果不进入这些函数,同时又进入其他的函数呢?在Visual Studio 2010中可以修改注册表实现。如下图,在注册表 HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\10.0_Config\NativeDE\StepOver中新增字符串,填入函数名称(正则表达式).
2020-11-10 15:50:19
513
1
原创 吐槽:钉钉巨无霸体量的表情文件
钉钉用了一段时间,发现其占用的磁盘空间很大。搜索发现,这个目录下的文件是主因:C:\Users\[UserName]\AppData\Roaming\DingTalk\[######]_v2\GifEmotionFiles有多大呢?$ dir | wc --lines7407$ du -chs .1.9G .1.9G total嗯,清空它!...
2019-04-19 14:53:10
3621
原创 文件格式转换脚本
convert-cpp-to-utf8.sh#!/bin/bash#cp /mnt/hgfs/parts/* .for file in $(ls *.hpp *.cpp *.h *.c)do str=$(file $file | grep -v "UTF-8") if [ -n "$str" ] then echo converting $file ... ico...
2019-04-08 15:12:59
1704
原创 文件备份和校验脚本
禁止更新文件访问时间,降低磁盘写入:fsutil behavior set disablelastaccess 1磁盘只读属性设置与清除:diskpartDISKPART> list diskDISKPART> select disk #DISKPART> attr disk set readonlyDISKPART> attr disk clear...
2019-03-21 21:11:31
322
原创 isdigit 与 std::isdigit 很不一样
https://stackoverflow.com/questions/15039858简单的说:isdigit 是 C 标准库 ctype.h 中的,有1个形参,属于全局名字空间;std::isdigit 是 C++ 标准库 locale 中的,有2个形参,不是全局的。...
2018-03-30 21:20:30
1949
原创 Win10系统下安装经典计算器
Win10默认的计算器启动非常慢。怀念曾经的计算器吗?在这里下载安装即可,点击下载https://winaero.com/download.php?view.1795安装后运行如下,找回曾经熟悉的样子了。...
2018-03-26 20:45:42
16532
原创 关于wxFileSystemWatcher输出文件名的解决方法
本文针对的wxWidgets版本: 2.9.4, 2.9.5,其他版本未作测试。如果要使用 wxFileSystemWatcher 并且让其产生的wxFileSystemWatcherEvent 事件中的路径中包含文件名,那么你或许得使用个小技巧:在 Add 或 AddTree 中的路径参数中,加上斜杆!例如 wxFileSystemWatcherEvent::Add(_T("C:\\Wind
2013-09-12 19:03:59
961
原创 VC中scanf/sscanf不支持%hhx格式,若使用将可能导致程序错误甚至崩溃
C99对printf和scanf系列函数新增了%hhx的格式,这有时候会很方便。但Microsft的VC还不支持C99,这里的hhx也不例外。MSDN上对格式字符串是这样描述的:http://msdn.microsoft.com/en-us/library/kwwtf9ch(v=vs.110).aspx% [*] [width] [{h | l | ll | I64 | L}]ty
2013-05-13 18:04:12
1973
原创 C++ STL 应用点滴
1. 字符串大小写转换string没有直接提供to_upper或to_lower这样的方法,不过有更通用的方法:std::string s("hello");transform(s.begin(), s.end(), s.begin(), toupper);transform(s.begin(), s.end(), s.begin(), tolower);std::vector v
2013-01-13 10:15:13
970
原创 VC密码框显示字符的终极设置方法
用过VC开发过Windows应用程序的人都知道,Edit 编辑框控件可设置为密码样式 (ES_PASSWORD)。但默认的密码通常是最普通的英文星号(*),这个星号有点过小,不便于观察。根据MSDN的描述,如果使用MFC的CEdit类,可调用SetPasswordChar设置密码字符。但问题是,如果工程的字符集是ANSI多字节字符,这样只能设置英文字符,因为该接口参数的类型是CHAR,不是WCHA
2012-09-15 16:33:27
2718
原创 VS2010 / VC2010 BUG应对:to_string 重载函数不完整导致编译错误
按照C++11的标准,to_string函数对每个基础算术类型均有重载函数。但是VC2010的C++库中没有实现所有的重载函数,而是只实现了其中的几个。参见:http://connect.microsoft.com/VisualStudio/feedback/details/576750/c-0x-std-to-string-is-non-conforming受此影响,以下代码无法编译
2012-03-09 23:51:59
8976
1
原创 通过ifstream将文件内容一次性读入容器的效率比较
问题:将一个文件的全部内容一次性读入到一个容器。有以下两种代码,都可以实现该功能。但是,第1种代码的执行效率相当低,第2中代码的执行效率高得多。我这里测试了一下,大约相差270倍。
2011-03-31 16:54:00
1794
原创 应用Crypto++计算文件的MD5校验和
不说了,直接上代码吧!注意,如果没有开启编译器优化选项,执行速度会比较慢;开启优化后,执行速度会提升好几倍。
2010-12-21 09:16:00
2363
原创 应用boost::filesystem递归拷贝目录树
操作系统提供的API通常不支持直接拷贝目录树。不过,可以通过递归的方法实现。下面,我们用boost的filesystem库实现该功能。
2010-12-21 09:10:00
4660
原创 在Windows Explorer右键添加"删除Tortoise SVN生成的.svn目录"
将下面的文件保存为remove_svn.reg然后双击导入注册表,在Windows Explorer的文件夹右键菜单中会出现新的菜单项,用以递归删除当前目录下的.svn目录。
2010-11-12 09:18:00
1336
原创 VC中防止namespace自动缩进的一种方法
在VC中使用namespace时,如果按照下面这种常规的写法,将导致一大块的代码右缩进。这实在不大方便,主要是浪费大量的空间。如何放置namespace自动缩进呢?
2010-09-13 11:22:00
3046
2
原创 140种标准颜色的宏定义
在开发过程中,我们经常会使用到颜色,然而一些C++开发环境和库等可能未提供对这些颜色的定义。下面是对140种标准颜色的宏定义代码(C/C++),可将其保存为stdcolor.h 并在使用时包含这个头文件。
2010-08-29 16:28:00
4533
原创 整理出来的MD5算法的C++源代码
下面的代码是从MD5标准的附录里面整理出来的,原来的是旧语法风格的C代码,现在我把它封装成了一个简单的C++类,以方便使用。有什么问题请回复。
2010-08-29 15:31:00
2329
转载 C++ 运算符优先级和结合性
C++语言包括所有的C运算符,并增加了一些新的运算符。运算符按一操作数(一元运算符)、双操作数(二进制运算符)、三操作数(三元运算符)的优先级顺序解析。
2010-06-12 21:15:00
766
原创 Visual C++ 调试技巧: 从变量查看窗口获取更多信息
在Visual C++调试中,我们经常需要在变量监视窗口中看到更多的信息。比如,我们定义了int类型的指针,该指针指向了好几个int大小的内存区域,我们希望看到的变量信息是整个数组,而不是只有指针指向的那个数字。又如,我们在调试Windows消息时,想知道的是消息的宏定义字符串(姑且让这么说吧),如WM_CLOSE,而不是生硬的数字。还有更多……
2010-06-09 13:37:00
5795
3
原创 为Microsoft Visual Studio文本编辑器增加导航线
许多编码规范要求每行代码的长度不多于80个英文字符宽度(目的是便于打印和小屏幕显示)。如何在Microsoft Visual Studio中方便做到这一点呢?方法很简单,请将下列内容保存为文件vs2k8guide.reg然后双击导入注册表即可,重启VS后即可看到效果。Windows Registry Editor Version 5.00[H
2009-11-26 08:51:00
2806
GetLastError返回的数值如何转换为常量宏定义名称?
2021-07-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人