![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VC++
文章平均质量分 88
dong_cc
这个作者很懒,什么都没留下…
展开
-
vc获取当前进程CPU使用率
double GetCPUUserRate(){ HANDLE hProcess=::GetCurrentProcess(); static DWORD s_dwTickCountOld = 0; static LARGE_INTEGER s_lgProcessTimeOld={0}; static DWORD s_dwProcessorCo...转载 2019-12-25 13:14:16 · 797 阅读 · 0 评论 -
如何在VC中加减日期及 CTime COleDateTime的常用操作
如何在VC中加减日期使用CTime类,如:CTime t1( 1999, 3, 19, 22, 15, 0 );// 10:15PM March 19, 1999CTime t2( 1999, 3, 20, 22, 15, 0 ); // 10:15PM March 20, 1999CTimeSpan ts =t2 - t1; // Subtract 2 CT...转载 2019-12-20 08:55:41 · 1427 阅读 · 0 评论 -
CTime和CTimeSpan
上一节中鸡啄米讲了MFC常用类CString类的用法,本节继续讲另外两个MFC常用类-日期和时间类CTime类和CTimeSpan类。 日期和时间类简介 CTime类的对象表示的时间是基于格林威治标准时间(GMT)的。CTimeSpan类的对象表示的是时间间隔。 CTime类和CTimeSpan类一般不会被继承使用。两者对象的大小都是8个字节。...转载 2019-12-20 08:54:54 · 742 阅读 · 0 评论 -
VC++读写*.ini配置文件
ini文件(即Initialization file),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个Key可以赋相应的值。读写ini文件实际上就是读写某个的Section中相应的Key的值,而这只要借助几个函数即可完成。一、向ini文件中写入信息的函数1. 把信息写入系统的win.ini文件...原创 2019-12-16 11:52:00 · 461 阅读 · 0 评论 -
VC中获取文件大小
方法一: WIN32_FIND_DATA fileInfo; HANDLE hFind; DWORD fileSize; const char *fileName = 文件的路径及名字; hFind = FindFirstFile(fileName ,&fileInfo); if(hFind != INVALID_HANDLE_VAL...原创 2019-12-16 11:49:06 · 472 阅读 · 0 评论 -
UTF8和UNICODE之间的转换
UTF8和UNICODE之间的转换(VC)CString CXXXDlg::UTF8Convert(CString &str, int sourceCodepage, int targetCodepage){ int len=str.GetLength(); int unicodeLen=MultiByteToWideChar(sourceCodepage,0,str,-1...原创 2019-12-13 18:16:22 · 284 阅读 · 0 评论 -
CString、CTime和COleDateTime转换
转载自:http://blog.csdn.net/sniper08/archive/2010/04/15/5488640.aspxCOleDateTime、CTime--->CString这个方法很简单,用Format格式化一个字符串就可以了,详见MSDNCString--->COleDateTime:方法1:COleDateTime::ParseDat转载 2016-02-05 09:40:02 · 473 阅读 · 0 评论 -
VC获取系统时间、程序运行时间(精确到秒,毫秒)的五种方法
1.使用CTime类(获取系统当前时间,精确到秒)CString str;//获取系统时间CTime tm;tm=CTime::GetCurrentTime();//获取系统日期str=tm.Format("现在时间是%Y年%m月%d日 %X");MessageBox(str,NULL,MB_OK);a,从CTimet中提取年月日时分秒 CTime t = CTime::Ge转载 2016-02-05 09:43:08 · 762 阅读 · 0 评论 -
FFmpeg浅尝辄止(三)——小试视频解码
上一篇介绍了视频编码的小例子,视频解码跟编码差不多,只是要在视频文件中寻找视频流,找到后对流逐帧解码,就这样简单。闲言少叙,上code:[cpp] view plain copyint main(int argc, char *argv[]) { AVFormatContext *pFormatCtx; in翻译 2016-09-10 16:02:19 · 261 阅读 · 0 评论 -
Format 函数,%f,%d,%x,%p。 浮点型小数点位取值
Format函数:返回按指定方式格式化一个数组常量的字符形式。"%" [索引 ":"] ["-"] [宽度] ["." 摘要] 类型Format('x=%d', [12]); //'x=12' //最普通Format('x==', [12]); //'x= 12' //指定宽度Format('x=%f'转载 2016-02-05 09:44:14 · 2868 阅读 · 0 评论 -
C++服务器端+Android客户端的网络通信
http://blog.sina.com.cn/s/blog_4e928b170100yg9c.html今天晚上11点半,在学校断网后的十分钟,我终于实现了C++服务器端与Android客户端的通信。本来很简单的一件事,却因为Android Socket线程阻塞的问题弄了我两天。好了不多说,直接进入主题: C++ 服务器端:用C++进行网络编程有转载 2016-03-07 15:22:04 · 1292 阅读 · 1 评论 -
VC滚动条 SCROLLINFO结构详解
SCROLLINFO结构详解 在刚开始使用SCROLLINFO结构时感觉很不顺手,尤其其中的成员fMask理解不太深刻,经过查询资料才理解一二。 在使用滚动条功能时,如果要设置它的范围和位置可以用以前的函数,例如:SetScrollRange()、 SetScrollPos()、GetScrollRange()、GetScrollPos()等,但目前通转载 2016-04-15 10:03:53 · 1794 阅读 · 0 评论 -
C/C++ 取整函数ceil(),floor()
#include double floor(double x); float floorf(float x); long double floorl(long double x);double floor(double x);double ceil(double x);使用floor函数。floor(x)返回的是小于或等于x的最大整数。如: fl原创 2016-02-05 09:38:58 · 327 阅读 · 0 评论 -
LINK:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
原文地址:http://yacare.iteye.com/blog/2010049很多伙伴在更新VS2010,或者卸载VS2012安装2010后,建立Win32 Console Project/MFC项目时会出现"LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏"的错误。错误描述:1>正在编译资源...转载 2016-03-16 10:23:09 · 273 阅读 · 0 评论 -
平均分配算法之倒序贪婪
话说学校要将100小学升初中的学生分配到4个初一班级里面,分配完以后这四个班级语文、数学两科之和的平均分要基本相同。分析:学生两科分数都在100到0分不等,那么只需要在分配以后保证每个班级的总分基本等于 100个学生的语文+数学总分/4就可以保证每个班级的平均分基本相同算法思想:目的:把m份数据分配到n个人的头上,m份数据里面的数据大小个不相同过程:1.1 把待分配的数据m转载 2016-02-16 17:34:04 · 971 阅读 · 0 评论 -
图文详解YUV420数据格式
YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。 YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chro转载 2016-02-01 08:47:24 · 287 阅读 · 0 评论 -
InvalidateRect() 与 Invalidate()函数
///===================该段是自己总结的一个小结=================================InvalidateRect()函数的作用是设置一个无效区域,并发送一个WM_PAINT消息到消息队列中,不过这个消息在众多的消息之中优先级比较级。在VC++编程中,对无效区域的处理方式是:在OnPaint()中绘图,不管它绘制了什么图形,有转载 2016-02-06 17:32:00 · 1313 阅读 · 0 评论 -
关于ffmpeg的例子muxing.c
在ffmpeg的官方例子中有一个muxing.c,这个例子是演示如何用ffmpeg进行打包(muxing),但是这个例子有些问题,说好听点是不完善,说不好听就是有错误。ffmpeg.c是非常完善的,对比ffmpeg.c我发现主要有以下两个错误: 1、在使用avcodec_encode_audio2/avcodec_encode_video2编码前,没有给定时间戳。 2、在main函数的fo转载 2016-01-28 18:23:54 · 371 阅读 · 0 评论 -
最新(2.44)FFmpeg音频播放 ----- 关键点swr_convert
ffmpeg 版本:git clone 于 2014-12-02 ,版本接近2.44,在2.44和2.51之间SDL版本:SDL 1.2(Centos 6.5软件库的相应版本) 有些旧的ffmpeg播放音频示例中,会存在一些音频可以播放一些不能播放,其中一个我们需要考虑的原因和该注意的地方就是 av_decode_audiole类似函数所获的的AVFrame转载 2016-01-28 18:22:18 · 891 阅读 · 0 评论 -
使用ffmpeg实现转码样例(代码实现)
使用ffmpeg实现转码样例(代码实现)使用ffmpeg转码主要工作如下:Demux -> Decoding -> Encoding -> Muxing其中接口调用如下:点击(此处)折叠或打开av_register_all();avformat_open_input转载 2016-01-28 18:21:15 · 593 阅读 · 0 评论 -
CListCtrl删除选中行
CListCtrl删除选中行CListCtrl选中行有两种属性情况,如果设置了Single Selection为TRUE,则只能单选,否则为多选(默认)。方法一:int CListCtrl::GetSelectionMark();返回值:返回选中索引号,否则返回-1说明:这个函数可以处理单行的情况,但是有一个缺点,它会保留你上次选中的项,所以当你单击空白的地方时,还会返转载 2016-07-18 17:14:55 · 684 阅读 · 0 评论 -
国外经典的开源网站
转自:http://www.cnblogs.com/newpanderking/archive/2012/08/27/2658974.html http://search.csdn.net/CSDN搜索,CSDN还是有非常多的编程资源的,用它的搜索能搜出不少东西。代码类别也比较全面。http://snippets.org/简单实用的代码收集网站,强力推荐。比如你要找转载 2016-09-10 15:53:49 · 783 阅读 · 0 评论 -
多线程 线程池 sock IO复用
1)iocp编程小结http://www.cnblogs.com/Hybird3D/archive/2012/02/02/2335000.htmlhttp://www.cnblogs.com/Hybird3D/archive/2012/02/04/2337652.html 单个进程最大线程数转自:http://jackyhongvip.iteye.转载 2016-09-10 15:57:33 · 676 阅读 · 0 评论 -
不用if比较两个数大小
一、问题有两个变量a,b,不用“if”,“? :”,switch或者其它判断语句,找出两个数中间比较大的二、解决方案[java] view plain copy/* 方法1:取平均值法 大的为 ((a+b)+abs(a-b)) / 2 小的为 (a+b - abs(a-b)) / 2 */ int fMax1(i转载 2017-03-21 16:44:39 · 781 阅读 · 0 评论 -
FFmpeg发送流媒体的命令(UDP,RTP,RTMP)
这两天研究了FFmpeg发送流媒体的命令,在此简单记录一下以作备忘。1.UDP1.1. 发送H.264裸流至组播地址注:组播地址指的范围是224.0.0.0—239.255.255.255下面命令实现了发送H.264裸流“chunwan.h264”至地址udp://233.233.233.223:6666[plain]view plaincopy...原创 2017-03-21 15:34:48 · 684 阅读 · 1 评论 -
TS格式解析
TS格式解析by ahuner1.TS格式介绍 TS:全称为MPEG2-TS。TS即"Transport Stream"的缩写。它是分包发送的,每一个包长为188字节(还有192和204个字节的包)。包的结构为,包头为4个字节(第一个字节为0x47),负载为184个字节。在TS流里可以填入很多类型的数据,如视频、音频、自定义信息等。MPEG2-TS主要应用于实时传送的节转载 2016-12-16 22:38:16 · 932 阅读 · 0 评论 -
获取CComboBox光标所在位置
//返回一个DWORD 类型的数据,高位和低位分别保存的结束和开始的位置。但是在使用的时候,大多数的作用是还得到光标的位置。CComboBox m_ADName;DWORD nCur = m_ADName.GetEditSel();CString str;str.Format("高位(起始位置)=%d,低位(结束位置)=%d",short(nCur>>16),short(nCur)原创 2016-11-24 13:34:07 · 863 阅读 · 0 评论 -
怎样得到一个int变量的高位字节和低位字节
怎样得到一个int变量的高位字节和低位字节?解决方法:高位:移位然后取short(int>>16)低位直接short(int)--------------------------------------------------------怎样得到一个DWORD变量的高位字节和低位字节?解决方法:高位:移位然后取short(DWORD>>16)低位直接short(原创 2016-11-24 13:32:14 · 8071 阅读 · 0 评论 -
MFC多线程的创建,包括工作线程和用户界面线程
MFC多线程的创建1.MFC多线程简介MFC对多线程进行了一层简单的封装,在Visual C++中每个线程都是从CWinThread类继承而来的。每一个应用程序的执行都有一个主线程,这个主线程也是从CWinThread类继承而来的。可以利用CWinThread对象创建应用程序执行的其它线程。MFC用CWinThread对象来表示所有线程。利用MFC可以创建两种线程,分别称之转载 2016-09-01 09:47:21 · 372 阅读 · 0 评论 -
比较著名的国外科技网站(推荐)
国外科技新闻网站,有很多是博客媒体式网站。博主们评论新科技的文章也很有读者。博客媒体网站1.www.ArsTechnica.com2.www.alleyinsider.com2.www.Engadget.com3.www.techcrunch.com4.www.Gizmodo.com5.www.Torrentfreak.comTorrent相关主题。下载时BT可是个转载 2016-09-10 16:24:58 · 763 阅读 · 0 评论 -
国内国外有名的编程网站
网站/论坛:CSDN 网址:http://www.csdn.net 介绍:由《程序员》杂志社主办,集新闻动态、技术文档、论坛一体的大型综合技术网站,涉及大多数主流的编程语言。内容以初、中级为主流,面向大多数人的网站。 论坛:java视线论坛 网址:forum.javaeye.com 介绍:讨论Java和企业开发的高端论坛,管理极其严格(甚于联盟),主要是上海和北京那一帮大牛在上面活动。应该是目前国转载 2016-09-10 16:22:21 · 438 阅读 · 0 评论 -
国内国外有名的编程网站
网站/论坛:CSDN网址:http://www.csdn.net介绍:由《程序员》杂志社主办,集新闻动态、技术文档、论坛一体的大型综合技术网站,涉及大多数主流的编程语言。内容以初、中级为主流,面向大多数人的网站。论坛:java视线论坛网址:forum.javaeye.com介绍:讨论Java和企业开发的高端论坛,管理极其严格(甚于联盟转载 2016-09-10 16:20:22 · 342 阅读 · 0 评论 -
OpenCV学习笔记(一)——安装配置、第一个程序
决心开始研究OpenCV。闲言少叙,sourceforge网站最近的版本是2011年8月的OpenCV2.3.1,下载安装,我这里使用的开发环境是vs2008,网上搜了一下配置的教程,与之前的几个OpenCV版本的配置过程大体相同:(教程网上很多,知之为知之,不知百度之,我这里粗略再讲一下)1. 配置电脑的环境变量(Path变量)这里我的是D:\Program Files\OpenCV2.转载 2016-09-10 16:05:49 · 323 阅读 · 0 评论 -
FFmpeg浅尝辄止(四)——音频的解码和编码
音频和视频其实是一样的,在文件中寻找音频流,然后解压出来,得到音频帧的数据,同样也可以按照设定的编码格式进行压缩,我这里把音频的解码和编码做成了两个工程,也是直接上代码:[cpp] view plain copy#include #include extern "C" { #include #inc转载 2016-09-10 16:03:15 · 293 阅读 · 0 评论 -
FFmpeg浅尝辄止(二)——YUV视频序列编码为视频
上一篇已经写了如何配置好开发环境,这次就先小试牛刀,来个视频的编码。搞视频处理的朋友肯定比较熟悉YUV视频序列,很多测试库提供的视频数据都是YUV视频序列,我们这里就用用YUV视频序列来做视频。关于YUV视频序列,我就不多讲了,可以看书学习,通常的视频序列都是YUV420格式的。步骤也就那几步,添加视频流,打开编码器,开辟相应的内存空间,然后就可以打开YUV序列逐帧写入数据了,so eas转载 2016-09-10 16:01:37 · 330 阅读 · 0 评论 -
FFmpeg浅尝辄止(一)——工欲善其事,必先利其器
好久没更新blog了,最近一直在看ffmpeg方面的资料,也是应急,学的也是皮毛。我只是把我学习的一些弯路跟大家分享一下,希望能对大家有些许帮助,如果哪里说的不对,还请大神指点啊。首先,当然还是开发工具的选择,我去ffmpeg的官网看了一下,吓死人,竟然都更新到0.11.1,真是版本更新的快啊,我看网上广泛使用的都是6.0以下的版本,即使我们最爱的OpenCV也是用FFmpeg0.7.x进转载 2016-09-10 16:01:04 · 255 阅读 · 0 评论 -
FFmpeg编程学习笔记二:音频重采样
ffmpeg实现音频重采样的核心函数swr_convert功能非常强大,可是ffmpeg文档对它的注释太过简单,在应用中往往会出这样那样的问题,其实在读取数据->重采样->编码数据的循环中在第一次执行swr_convert后还应用swr_convert再作个缓存检测看看是否还有数据,如果有就要把它写到FIFO中去,留在下次再使用,这点在转码和由低向高转换采样率时特别重要。 下面一段转载 2016-01-28 18:20:01 · 688 阅读 · 0 评论 -
ffmpeg音频转码,采用swr_convert重取样
目录(?)[+]1、概述:和上一篇音频转码流程一样,只是把filter重取样改为了swr_convert重取样,理解本例子对AVFrame中data如何存储音频数据有更好的理解。2、代码:[cpp] view plain copy/* *最简单的音频转码器(只处理音频) *缪国凯 Mickel *8214860原创 2016-01-28 18:17:15 · 1096 阅读 · 0 评论 -
VC++ 求绝对值函数abs、labs和fabs介绍
VC++ 求绝对值函数abs:求整数的绝对值。labs:求长整形的绝对值。fabs:求浮点数的绝对值。abs()仅对整型求绝对值对浮点数求绝对值使用fabs()函数。Example#include#include#includevoid main( void ){int ix = -4, iy;long lx = -4转载 2013-09-17 17:51:55 · 2505 阅读 · 0 评论 -
海康DVR远程监控设置重点参数
1、 帧类型:包括I帧、P帧和B帧。其中I帧为关键帧,一帧就是一幅完整画面,P帧为帧间预测编码帧,需要参考前面的I帧或P帧的不同部分才能进行组成一幅完整画面,B帧为双向预测编码帧,需要同时以前面的帧和后面的帧作为参考帧才能进行组成一幅完整画面。2、 DVR中关于帧的设置有两处:a) 其中一个是帧类型,有两种选择,“BBP”和“单P”,其中“BBP”标识视转载 2013-08-03 10:35:23 · 3045 阅读 · 0 评论