
编程学习
文章平均质量分 76
super_admi
从初中开始玩程序,至今未变。
展开
-
关于main函数的参数
我晕了。以前一直以为main函数只有两个入口参数:参数个数和参数字符串列表。今天才发现它居然还有第三个参数:环境变量。说明如下:对于main函数而言,一般情况下有如下的特性。 The main function marks the beginning and end of program execution. A C or C++ program must have one function named main. main原创 2010-12-06 09:30:00 · 1100 阅读 · 0 评论 -
C#下的PING
http://msdn.microsoft.com/zh-cn/library/system.net.networkinformation.ping.aspx点击打开链接转载 2014-01-14 12:22:53 · 818 阅读 · 0 评论 -
各种PDF转换问题(三).将AutoCAD图纸转为PDF文档
目前国内企业生产的自动化程度并不是很高,大多数都无法使用三维图直接进行加工生产,所以二维图对于大多数企业来说,仍然是最根本的生产依据。那么,在企业中,二维图转PDF就是一个很重要的小步骤,因为后续的打印以及企业之间的交流,都离不开由二维图转出来的PDF文档。 在三维CAD设计软件中,二维图转PDF一般是一个软件的内置功能,所以这些软件一般都会直接提供一个API,来实现转PDF的功原创 2014-09-06 16:17:29 · 10928 阅读 · 5 评论 -
std::string的trim()实现
网上找了下std::string的trim()实现,都不是很满意。自己写了一个,记录一下。 inline static wstring& left(wstring& str) { wstring::size_type index = str.find_first_not_of(L" \n\r\t"); if (index != wstring::npos){str = str.s原创 2013-07-24 18:46:29 · 9608 阅读 · 1 评论 -
各种PDF转换问题(二).将OFFICE文档转为PDF文档
OFFICE 转 PDF原创 2014-09-06 15:37:57 · 4274 阅读 · 0 评论 -
一段小程序(2)
计算year,month,day是星期几,网上只看到这一种比较靠谱些的公式:int getWeek(int year, int month, int day){ int w = 0, y = year, c = 0, m = month, d = day; if(m < 3){m += 12; y--;} //m: 3-14 c = y/100; y原创 2015-08-18 22:14:20 · 697 阅读 · 0 评论 -
软件集成接口.序
吾每日三省吾身。工作这么多年,回首自己做的事情,概括起来,其实就两个字:接口。所以,按照我自省--其实也就是自我总结--的习惯,便有了此文。软件与软件之间的集成接口,一般不会涉及太多的算法问题(松了口气),它的主要困难,来自各软件的差异。首先,软件集成,最起码的条件是对接的两软件必须具备二次开发的能力。如果软件不具备二次开发能力,那么强行集成只能使用“注入”之类原创 2017-11-02 09:31:35 · 1534 阅读 · 0 评论 -
软件集成接口.COM组件交互(1)
要问COM组件是个什么东西,自不用我多说,凡是在WINDOWS下编过程序的人员,没有经历过COM组件的洗礼,都是菜鸟。老实说,我看过潘爱民的《COM原理与应用》,也在VC知识库里研究过关于COM的文章,但最终,也许是我太笨,也许是我天赋不够,我始终对COM组件知晓不多,总有一种云里雾里的感觉。在我的认知里,COM组件是微软很成功也很失败的一个作品:说它成功,因为它确实真正做到了二进原创 2017-11-02 10:51:07 · 1110 阅读 · 0 评论 -
软件集成接口.COM组件交互(2)
如果没有必要,我是真的不想在C#中玩COM组件,原因很多,其中一条是它的效率不高。C#调用COM组件是很简单的事情,但C#中似乎不能直接引用C#写的COM组件(这可能真叫脱了裤子放屁)。C#写的COM组件,绝大多数情况是给“旧时代的语言”用的,很不幸,我经常接触到这种“旧时代的语言”。过程:1.新建一个C#的类库工程(我没试过用C#生成EXE原创 2017-11-02 13:20:23 · 630 阅读 · 1 评论 -
一段小程序(3)
做个题目练练手,不然C语言都忘记了。设计一程序实现功能,处理字符串A,处理规则是:只要B字符串里面有的字母,不分大小写,一律从A字符串中删掉。(1)请画出此算法的流程图;(2)请用C语言编写对应的代码。 #include "stdio.h"#include "stdlib.h"#include "string.h"#define VAL_ASCII_SIZE 256#d...原创 2018-10-18 15:41:14 · 420 阅读 · 0 评论 -
一段小程序(4)
从基础开始,慢慢找状态。这是一个有范围限制的Double类:#pragma once#include <limits>#include <sstream>class Double{public: Double(void) { initialize(-std::numeric_limits<double>::max(), std:...原创 2018-10-20 10:51:32 · 238 阅读 · 0 评论 -
大整数加法
以前看到别人的大数运算,一直都没有自己动手实践过,今天看到论坛上有人提出类似的简化了的问题,顺手写了一个,感觉还行,记录下来,以供日后参考。类:#pragma once#include class CInteger{public: CInteger(void) { _number = "0"; _carry = '0'; } CInteger(std::stri原创 2013-11-09 15:20:13 · 1035 阅读 · 0 评论 -
静态代码分析工具汇总
源地址:点击打开链接静态代码扫描,借用一段网上的原文解释一下(这里叫静态检查):“静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。代码检查代码检查包括代码走查、桌面检查、代码审查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码的逻辑表达的正确性,代码结构的合理性等方面;可以发现违背程序编写标准的问题,程序转载 2013-11-01 09:37:51 · 1266 阅读 · 0 评论 -
IOCCC
<br />“大师把代码写成这样是经典,你把代码写成这样是垃圾!”--《C语言深度剖析大全》<br /> <br />main(t,_,a )<br />char<br />*<br />a;<br />{<br /> return!<br />0<t?<br />t<3?<br />main(-79,-13,a+<br />main(-87,1-_,<br />main(-86, 0, a+1 )<br /><br />+a)):<br />1,<br />t<_?<br />main( t+1,原创 2010-12-21 11:51:00 · 2288 阅读 · 0 评论 -
TC二次开发之ITK开发自学笔记(一)
我相信可能会有人和我一样,刚看到TC时,会误以为是Turbo C的简写,而事实上,这里并不是。 TC是Teamcenter的简写。以后TC这个简写,在我的文章中,绝大多数时候表示的是Teamcenter。 Teamcenter是什么?一般的软件开发人员或许并不清楚,但接触过工业制造的人多半会了解。 Teamcenter是一套软件,它提供了一整套全方位的产品数字化生命周期管理解决方案(头晕吧?^_^)。说白一点,它就是管理制造企业中的产品和流程的一套软件。打个简单的比方,一个产原创 2010-12-31 16:04:00 · 15489 阅读 · 14 评论 -
读取配置文件
LINUX下的配置文件,我很少去查看,现在也不记得是什么样子的了。在我的记忆里,还残留着古老的DOS下的配置文件格式,很简单:它是分段存储的,每段的段名用“[]”括起来,段名后跟的是属性名和属性值,两者用等号隔开,每条属性占据一行,整个文件是文本文件。WINDOWS下是有专门的函数来读这样的配置文件的,貌似INI文件还沿用的这种格式。最近看一个家伙在LINUX下用C写这个东西,我也忍不住手痒,用C++写了一个。头文件:// ConfigContext.h: interface for the CConfig原创 2011-01-02 11:19:00 · 1553 阅读 · 0 评论 -
令人恼火的映射类
<br /> 在C++编程中,我总是需要使用一些容器来存放一个东西的属性。比如:颜色=红色,重量=32千克,诸如此类。显然,使用映射类来存放这东西,无疑是极好的选择。于是,我使用std::map来做这个事情。多完美啊,看起来一切都很不错:查找,插入,清除,比较,赋值,这些功能都很不错。<br /> 突然,我发现个问题:std::map总是会对数据进行自动排序。Oh, My God!老大,我不用你给我排序啊,我要保持属性原来的次序!我在网上翻查了许久,也没找到一个能不排序的办法。倒是有文章原创 2011-01-07 16:16:00 · 1739 阅读 · 2 评论 -
被Make耍了一道
<br /> 以前写程序,都是在VS环境下完成,一点BUILD,一切OK。但是,最近工作中要写的程序,环境要求就有点乱了。比如ITK,它用的是VC的编译程序来编译,但又没有提供VC的工程生成向导,配置起来很麻烦。最麻烦的是,ITK还往往要和RC程序配合使用,而ITK使用C++开发,RC插件使用JAVA开发。<br /> 于是,我不得不手动配置JAVA的主要开发工具ECLIPSE,让基于VC编译器编译的C++程序,也能在ECLIPSE上跑起来。这样,我就可以把ITK和RC插件代码都放在同一个编辑器原创 2011-03-04 14:41:00 · 1513 阅读 · 2 评论 -
PDF文件的读写(使用SDK).(三).PoDoFo的简单应用
在免费的PDF SDK中,我选择了PoDoFo,这也是无奈之举。因为我在网上搜索到的众多免费PDF SDK,绝大多数都是功能比较单一的。要么只能显示PDF,要么只能创建PDF。而对PoDoFo的描述是:操纵PDF……OK,那就是它了。按前面所说的操作,编译好PoDoFo,这时候,你会得到好几个文件。不过,你需要注意的,只有两个:PoDoFo.dll和PoDoFo.lib。前者是在运行程序时需要的,而后者是在编译时需要的。当然,如果你按README.HTM所说,先生成sln文件,然后再用VC打开sln文件,则原创 2011-05-02 16:30:00 · 13059 阅读 · 20 评论 -
PDF文件的读写(使用SDK).(一).闲谈PDF SDK
<br /> 最近需要对PDF文件进行一些简单操作,因此花费了点时间,研究了一把。<br /> PDF文件格式很早就由Adobe公司推出来了,到今天已日趋完善,广泛应用于各行各业。但通常情况下,对于PDF文件的读操作,都是免费的,而编辑、创建等功能,则是收费的。比如Adobe自己开发的Reader,以及现在广为流行的轻量级PDF工具Foxit Reader等等。其实,这些Reader对应地还发布有PDF SDK,只是一般只有编程人员才会关心这个。上面说的这两个:Adobe R原创 2011-05-01 21:54:00 · 20610 阅读 · 2 评论 -
PDF文件的读写(使用SDK).(二).编译生成免费的PoDoFo
<br />PoDoFo是一个免费的开源的PDF开发库。PoDoFo这个名字很有趣,根据它附带的README.HTM文件说明,它源于:Portable Document Format。三个大写字母就是“PDF”,而用“o”来隔开。<br /> <br />PoDoFo下载地址:http://podofo.sourceforge.net/index.html<br />我写本文时,它刚发布0.9.1版没多久。<br /> <br />PoDoFo开发库需要依赖的GUN公共库比较多 ,但在WIN32下最少的原创 2011-05-01 23:20:00 · 8778 阅读 · 9 评论 -
各种PDF转换问题(一).在C++中借助Acrobat将PDF转为TIFF
总是碰到各种PDF相关的转换问题。故记录一二,以作总结。此处是借助Acrobat来进行转换,首先要安装Acrobat,装完后,系统中会有Acrobat 的COM库,同时,安装目录下有一个Acrobat.tlb和Acrobat.dll文件,这都是我们所需要的。1.建立C++工程,将tlb添加到工程中(为了方便使用,其实不添加也可以)。在代码中#import "Acrobat.原创 2013-05-18 16:18:13 · 7054 阅读 · 11 评论 -
俺也来写个工厂
C#反射工厂实现。原创 2013-08-15 18:42:33 · 1114 阅读 · 0 评论 -
软件集成接口.COM组件交互(3)
VB/VBS的COM组件调用。在历史较长且比较有名的软件中,有很多都支持类VB/VBS/VBA语法,由此可见当年微软的威势!特别是VBS,如果没有了对COM/OCX组件的调用能力,立马就残了。废话少说,上代码:调用COM组件:Function doSomething(message, objects) On Error Resume Next Dim enovia, jso...原创 2018-11-08 22:00:04 · 467 阅读 · 0 评论