<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>-Flyぁ梦- &#187; C++</title>
	<atom:link href="http://blog.11034.org/tag/c/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.11034.org</link>
	<description></description>
	<lastBuildDate>Sun, 22 Jun 2025 08:59:05 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>记C#和Excel开发</title>
		<link>http://blog.11034.org/2014-09/dotnet_csharp_excel.html</link>
		<comments>http://blog.11034.org/2014-09/dotnet_csharp_excel.html#comments</comments>
		<pubDate>Wed, 10 Sep 2014 07:31:54 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[Life in Coding]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.11034.org/?p=2287</guid>
		<description><![CDATA[需要一个windows环境下的工具，能够读写Excel。这个Excel比较复杂，内嵌VB脚本，写Excel的时 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>需要一个windows环境下的工具，能够读写Excel。这个Excel比较复杂，内嵌VB脚本，写Excel的时候必须得保留这些原有的脚本数据。</p>
<p><span id="more-2287"></span></p>
<p>介绍下这个VB脚本，就是给每一行数据提供下拉框进行一些备用数据的选择，比如打标签。这个下拉框并不是Excel提供的控件（控件绑定于具体的Cell或者坐标很麻烦），而是用弹窗实现的，全局共享一个弹窗数据源。这是一段在Excel文件中的VB代码。</p>
<p>最初开始用Python，靠xlrd和xlwt模块进行读写，读的确没什么问题也挺方便，但是写就有点纠结了，xlwt不能写已经存在的excel文件而是需要新创建一个文件然后开始写入然后替换原有文件，如果Excel文件中有设置好的一些格式、控件、脚本的话，就都没了。然后Python最麻烦的当然就是windows下是没有预装Python的，这个工具给别人使用还要带一个Python环境真是麻烦，然后文件就很多包括.py、双击运行的.bat等。</p>
<p>然后想到的就是能够在win环境下良好支持的C#，本科的时候还是学过C#的有那么一点点基础而且毕竟和Java比较像。C#提供的操纵Excel功能的确比较强大，但是没这么好用，很容易报异常需要耐心调试。但是能够编译成.exe，在win环境下运行起来到底方便。</p>
<pre class="markdown_pre"><code>VS创建项目时，会提示选择.Net Framework版本，尽量选择4.0（win7自带）或者更低的，以更好的跨平台；一开始用了默认的4.5（大概是安装VS时候给自动装上的，编译出来在某些win7环境中会报错）

md5的方法：最简单的是用Web模块里的那个方法，但是这个Web模块似乎不太跨平台；网上方法很多，但是算出来的答案居然都不太一样！选个靠谱的不容易...</code></pre>
<p>写代码的时候遇到过的几个坑</p>
<pre class="markdown_pre"><code>xlsApp.Visible = false; （不然每次执行都会打开Excel再关闭）

xlsApp.DisplayAlerts = false; （不然保存的时候会各种提示确认比较烦）

filePath = filePath.Replace('/', '\\');   xlsBook.SaveAs ...（文件路径用 / 就会报异常）

xlsBook.Close(false, Type.Missing, Type.Missing); （没有这句话，程序执行完后Excel的进程就会留在内存中...执行多次就一堆死进程...）</code></pre>
<p>微软的代码风格也就算了，操纵Excel的各种API的命令和使用方法，真是无法直视</p>
<h4  class="related_post_title">看看 .Net , C++ , Excel , Python</h4><ul class="related_post"><li>2014-07-07 -- <a target="_blank" href="http://blog.11034.org/2014-07/ruby_on_rails.html" title="ruby on rails">ruby on rails</a></li><li>2011-10-20 -- <a target="_blank" href="http://blog.11034.org/2011-10/zoj_100_ac.html" title="ZOJ起步 100AC">ZOJ起步 100AC</a></li></ul><h4 class="related_post_title">看看 Life in Coding </h4><ul class="related_post"><li>2016-09-09 -- <a target="_blank" href="http://blog.11034.org/2016-09/jabber_and_xmpp.html" title="jabber和XMPP简述原理">jabber和XMPP简述原理</a></li><li>2015-01-07 -- <a target="_blank" href="http://blog.11034.org/2015-01/prevent_db_duplicate.html" title="防止数据库数据重复的几种方法">防止数据库数据重复的几种方法</a></li><li>2014-10-25 -- <a target="_blank" href="http://blog.11034.org/2014-10/linux_timeout.html" title="linux的timeout处理wkhtmltopdf进程超时">linux的timeout处理wkhtmltopdf进程超时</a></li><li>2011-06-11 -- <a target="_blank" href="http://blog.11034.org/2011-06/google_doodle_guitar.html" title="2011-6-9 Google Doodle之电子琴">2011-6-9 Google Doodle之电子琴</a></li><li>2011-03-10 -- <a target="_blank" href="http://blog.11034.org/2011-03/learning_cs.html" title="学计算机的尼玛伤不起啊！！！！！！">学计算机的尼玛伤不起啊！！！！！！</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2014-09/dotnet_csharp_excel.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ZOJ起步 100AC</title>
		<link>http://blog.11034.org/2011-10/zoj_100_ac.html</link>
		<comments>http://blog.11034.org/2011-10/zoj_100_ac.html#comments</comments>
		<pubDate>Thu, 20 Oct 2011 12:30:57 +0000</pubDate>
		<dc:creator><![CDATA[-Flyぁ梦-]]></dc:creator>
				<category><![CDATA[ACM]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[ZOJ]]></category>

		<guid isPermaLink="false">http://blog.stariy.org/?p=988</guid>
		<description><![CDATA[shi哥是世界冠军，1000AC才自贺一把，俺们小菜鸟当然100AC就可以来发一篇博了 :wink:。 zzh [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>shi哥是世界冠军，1000AC才自贺一把，俺们小菜鸟当然100AC就可以来发一篇博了 :wink:。</p>
<p><span style="color: #db6d00; font-size: large;">zzhxlyc</span> <span style="font-size: medium;">(-Flyぁ梦-)</span>        <span style="font-size: small;">AC Ratio:</span> <span style="color: red; font-size: medium;">100/244 </span>。ZOJ路程刚刚起步，仅此纪念一下~</p>
<p><span id="more-988"></span>其实早在大二暑假，那时候8月份还在萧山工商银行实习打酱油，没事干打印ZOJ的题目想算法在纸上做，回来再上电脑敲，从1001开始往下搞，到1099为止AC了20几道，基本都是水题或者暴力题，然后就没有下文了。直到大四的暑假开始，又重新捡起了这份活，真正开始打算好好练练自己的做题和算法能力。</p>
<p>以网上流传的一份ZOJ分类题目推荐为目标，首先做模拟题，不需要任何算法按逻辑一步一步去做就行，这四五十题让自己慢慢熟练起了C++的基础语法和STL的基本用法，再也不需要因为g++编译过不了又看不懂错误说明而去请教别人了，也熟悉了ZOJ的错误类型，各种WA、SF、PE、TLE、MLE、RTE。接下来开始做搜索题，DFS和BFS，BFS之前就比较熟，而用DFS做题倒是从ZOJ1008里得到挺深的感悟。其实感觉下来模拟题做起来难度似乎更大，不断地需要看代码和找错误数据去灭掉WA或者SF，一直WA不出来的也有好几题很痛苦，而搜索题不是算法TLE的话基本直接就能AC，做起来更快。</p>
<p>PS：某几道模拟题AC的结果还幸运地爬上了那道题的AC排行榜，灰常有成就感！（当然不是因为算法牛或者什么的，肯定是那道题太冷了木有人去做罢了 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_mad.gif" alt=":-x" class="wp-smiley" style="height: 1em; max-height: 1em;" /> &#8230;）</p>
<p>PPS：因为俱乐部或者实习的原因，认识一些早些年的ACMer，然后偶然就会碰上学长学姐们留下的题，然后就感觉很好玩~（本来第100题刚好碰上光哥出的ZOJ2951，一开始还很兴奋，然后果断华丽丽地就被cerror BS掉了 <img src="http://blog.11034.org/wp-includes/images/smilies/icon_cry.gif" alt=":cry:" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ……）</p>
<p>列几道曾经被WA地死去活来的几道题：</p>
<ul>
<li>ZOJ 1111：模拟梭哈。不小心某个函数少了一个return，居然直接g++ 1111.cpp是不报错和Warning的！需要g++ 1111.cpp -Wall去显示所有Warning信息才能看见&#8230;想不通为啥这在C++只算个Warning&#8230;</li>
<li>ZOJ 2495：模拟五子棋。一个点不能往右下方向判断是否结束游戏，只能用左上方向取而代之，因为题意要求打印left-most棋子。</li>
<li>ZOJ 3009：模拟Excel。串的长度需要很长&#8230;或者用getline(cin, string)吧。</li>
<li>ZOJ 2103：DFS题。Sample中No，o是小写（虽然从网页[chrome]上很不容易看出来！），反正以后记得无论多简单也要从网页上copy就是了。</li>
<li>ZOJ 2203：开1000长度的数组会TLE，而1001就OK，没去仔细研究，反正以后数组开大点不会错。</li>
<li>ZOJ 2512：枚举题。注意ab序列也是对称的（a在上，b在下），aa序列同理以第一个a为对称中心！</li>
</ul>
<div>接下去的目标当然就是200题了，继续做搜索类题，然后可以接触贪心类型的题目，至于DP、图论甚至几何、最大流神马的，今年估计是没希望了……</div>
<h4  class="related_post_title">看看 C++ , ZOJ</h4><ul class="related_post"><li>2014-09-10 -- <a target="_blank" href="http://blog.11034.org/2014-09/dotnet_csharp_excel.html" title="记C#和Excel开发">记C#和Excel开发</a></li><li>2013-01-25 -- <a target="_blank" href="http://blog.11034.org/2013-01/winter_holiday_plan.html" title="zoj 200AC，寒假计划">zoj 200AC，寒假计划</a></li><li>2013-01-15 -- <a target="_blank" href="http://blog.11034.org/2013-01/pack_in_zoj.html" title="背包练习小集合">背包练习小集合</a></li></ul><h4 class="related_post_title">看看 ACM </h4><ul class="related_post"><li>2012-12-06 -- <a target="_blank" href="http://blog.11034.org/2012-12/string.html" title="整理下字符串的一些数据结构和算法">整理下字符串的一些数据结构和算法</a></li><li>2012-10-12 -- <a target="_blank" href="http://blog.11034.org/2012-10/zoj_2891.html" title="zoj 2891">zoj 2891</a></li><li>2011-10-14 -- <a target="_blank" href="http://blog.11034.org/2011-10/google_2012_campus.html" title="Google2012校招笔试">Google2012校招笔试</a></li><li>2011-07-26 -- <a target="_blank" href="http://blog.11034.org/2011-07/begin_acm.html" title="ACM初上手">ACM初上手</a></li>]]></content:encoded>
			<wfw:commentRss>http://blog.11034.org/2011-10/zoj_100_ac.html/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
