豪翔天下

Change My World by Program


  • 首页

  • 关于

  • 归档

  • menu.favorites

  • menu.wiki
豪翔天下

别忘了前行的目的——致去年今日半途而废的自己

发表于 2014-07-23 | 分类于 边走边想 |

很多时候,我们走着走着,就忘了前行的目的。

去年今日,我放弃了和同伴们一起去西藏的旅途,没错,那时候,我真的觉得自己是一个彻彻底底的loser,一个男人,连这点毅力都没有。

2013年7月21日,我和同伴们(BOSS、大强、喉咙)一起,开始我们的足藏行(大足——西藏)。

还记得第一天的骑行,大足到内江,一百多公里,虽然我确实挺喜欢骑自行车的,但也从来没有骑过这么远,也从来没有骑山地车的经验,第一天就精疲力竭了。呵呵,说来可笑
,第一天就产生了放弃的想法,当时我想,这只是第一天,可能只是不适应而已。第二天又骑了很远很远,更重要的是我们还赶了几小时的夜路,在郊外骑夜路真的太危险了,那
天我们好像十点才找到住宿的地方,那天开始我就发现自己身体不行了。第三天,也就是去年的今天,早上,我们在路边休息的时候,喉咙突然问了句,“我们当初为什么要来呢
”。这句话我不小心就听进去了,一直想一直想。那天中午,路过眉山的时候,他们都骑了很远很远,只有我一个人还在后面,灰尘、烈日、高温,真的吃不消了,有几次都差点
晕过去。我找到路边一处树荫处躺在了地上,从树叶间的缝隙看着太阳,阳光很刺眼,我不敢看。转向地下的泥土,泥土还有点湿润。当时真想快点回家吹空调,发誓回去后一定
要好好热爱生活,一定要好好学习,一定要。。。等等,我当初到底是为什么来的呢?是因为很多人都去了我也想去?是因为我想挑战自己?是因为我想去看美丽的风景?是因为
我想逃避?我忘了,我真的忘了此行的目的了。我要回家!我想,这次的放弃这辈子可能就没有下次了,这次放弃我肯定会后悔一辈子的,但是,我还是放弃了。其实那天下午,
太阳一阴下来我就开始后悔了,但是我不好意思跟队友说,其实,算了吧,我都想不出继续前进的理由了,哪怕是一个借口我也找不到。

在眉山住了一晚,想想在四川的所见所闻,真的怀念在路上的感觉,可以体会一个地方的风土人情,更重要的还有美食,好久没去四川,那个地方菜是真正保留了辣味原滋原味的
地方。我以后肯定会再去眉山的。(PS:貌似每次在亚马逊买书,都是从眉山那个仓库送过来的)。

一个人回到重庆,到菜园坝已经是晚上了,打算把车子放在一个车行,但居然关门了,一个人把车子从车站抬到了两路口这上面来,没有坐那个皇冠大扶梯。看到它关门后,不知
道该什么,就一个人在街头游荡。更倒霉的是,在一次过马路的时候,车子居然散架了,我操,辛辛苦苦捡到了马路边,一个人坐在那儿发呆,好无助,当时很想买瓶酒一醉方休
。过了一会儿,有个大哥过来问了下我的情况,然后就帮了我一下,把车寄放到他那里,当然,第二天,我是直接回家而没有去取的,现在想来,我最对不起的是我那辆车,磨砂
的黑色,美利达,具体型号忘了,还好这儿还有张特写:

那晚,我独自走上菜园坝长江大桥,走过来又走过去,和以前的女朋友们打了电话,他们都很好,呵呵,挺羡慕他们的生活的,唉。

白岩松(好像是他说的)曾经说过:“不要因为我们走得太远,就忘记了我们当初出发的目的。”这一年里,我改变了很多东西,也发现了自己很多的缺点,唯一不变的
是仍然坚持做一个梦想家,心中的梦永远做不完。我知道,我王豪绝不是一个半途而废的人,只是有些时候我们会忘记前行的目的,没有了目的,那前行还有什么动力,没有终点
,前行还有什么意义。写这篇文章的时候,音乐播放器正好播放到郑智化的一首歌“有再多的悲,有再多的伤,我不怕我不怕啊,再多的悲伤只为证明幸福的代价;有再多的痛,
有再多的苦,我不怕我不怕啊,再多的痛苦掩盖不住梦想的伟大。“有了目标并坚定目标,严寒、酷暑,这些挫折算个屁呀。

我想创业,我知道路上有很多未知的东西,但我也知道我的小伙伴会一直相信我、鼓励我,这次,我绝不会忘记自己前行的目的。人这辈子虽然有几十年,但我们真的追过的梦想
又有几个。很多人说现实太残酷了,别他妈以为只有心里想想就能称得上是梦想,没有付出,没有痛苦,那梦想有什么价值,不要说你的梦想就是出去吃二两小面,吃二两小面还
要给钱呢。

无论怎样,调整好心态,找回曾经的梦想,一切,都还来得及。

318,辉煌的最后一年:

一年了,虽然这一年里我没有碰过自行车,但是我依然很崇拜那些真正能够骑车到西藏的人,大强就是这样,他们绝对是为了目标能够不顾一切,心中永远坚持那个目标的人。我
不知道以后还能不能再次踏上这段路,但是听说,今年是318最后一年,也高尔寺山,剪子弯山垭口的风景只能在一集中搜索了,漫步云端从此将成为传说,就是说,以后再走
318,再也不能看到那充满原始魅力的318了。如果前行的路被铺得那么好,那真正的行者还能有几个。希望所有曾踏上过这条路的人,无论是否到达过拉萨,都能为曾经的
”冲动“感到骄傲!318,再见!

豪翔天下

《程序员法则》——起飞

发表于 2014-07-20 | 分类于 韦编三绝 |

正如小说第一部分标题“起飞”一样,这部小说也是我走向计算机这条路不可或缺的一个影响因素,在高中时候就看过了,一直到大学,中间大概看了三四次吧,每次看都让我热血沸腾。记得最近一次是在看雪上,一位大神提到的,也是表达它对他有多大的影响。我很少看小说,这是最激励我的一部了,或许没有它,我也不会走上程序员这条道路,没有它,或许现在我也不会对程序员这一职业有着不一般的感情。

“程序员“和”码农“不一样,虽然这两个称呼都是我们IT人士对自己的一种调侃的说法,但我觉得这两个称呼还是有些许区别的。码农更像是农民工一样,日复一日重复的垒着代码,而程序员这是一个更好听的称呼,所有和程序有关的东西都是程序员的杰作。手机、电脑、飞机、卫星,一切和现代科技有关的东西都和程序有关,没有程序就没有程序员,没有程序员就没有程序。

不得不说,《程序员法则》的作者确实有一些专业功底,这部小说不仅表达了题目所说的“程序员法则”,让我们这些对计算机,对黑客技术有着一腔热血的人向着正确的方向发展,同时也让我们对未来感到憧憬、热血澎湃。我也曾期望着我有许毅一样的头脑,像许毅一样有那么多的机遇,在这个庞大的世界里,我不会有主角光环,但我知道我能做自己人生的主角,所以这条路,我会继续走。

这部小说唯一的遗憾就是只更新到八十几章,在06年就停止更新了,我不知道为什么,网络上的说法不一,作者庄庄也未曾对此做过任何说明。不过,或许这也从另一方面给了我启示,踏上计算机这条路没有捷径,也没有终点,一直走下去,总有一天会找到属于我自己的结局。

语录

无私奉献不是天方夜谭,有时候,我们也可以做到

编程中我们会遇到多少挫折?表放弃,沙漠尽头必是绿洲

非优秀的程序员常常把空间和时间消耗殆尽,优秀的程序员则总是有足够的空间和时间去完成编程任务,而且配合近乎完美

我们应该重视团队的精神,一个人作用再大,也不过时一碗水中比较大的一粒水珠而已

一个函数始终无法调试通过,是暂时放着还是坚持把他调试出来,我认为使你的心理状态比较好,放的下就放下,否则还是老老实实把他想出来

用程序创造激情,激情汇聚友谊

你的一个程序有时正常有时不正常,而你已经完全遵循变成的规则,为什么?事实上我认为相信只要遵循别人所说就能得到想当然的结果的人其实是个傻瓜

iF(BOOL学习==FALSE) BOOL 落后=TRUE;不断的学习,我们才能不断的前进

按照你心里最真实的想法去做决定,即使是错的,也不会后悔

退一步开阔天空,这是一种应有的心境

如果你喜欢底层开发,千万不要面前自己去搞VC,找到你最真实的想法,程序员最不能忍受的就是万精油

最累的时候,家人是你最好的归宿

这句话不是很文雅,彻底鄙视那些害怕别人超越自己而拒绝回答别人问题的程序员

如果调试一个程序让你很苦恼,千万不要放弃,成功永远在拐角之后,除非你走到拐角,否则你永远不知道你离他多远,所以,请记住,坚持不懈,知道成功

就算我们站在群山之巅,也别忘记雄鹰依旧能从我们头顶飞过,骄傲是比用JAVA进行底层开发更可笑的东西

调试完一个动态链接函数,固然值得兴奋,但真正的成功远还在无数个函数之后

程序是我的声明,但我相信爱她甚过爱我的生命

信念和目标,必须永远洋溢在程序员内心

一个100行的代码调试都可能会让程序员遇到很多挫折,所以,面对挫折,我们永远不能低头

没有情调,不懂浪漫,也许这是程序员的一面,但拥有朴实无华的爱是他们的另一面

编程是一种单调的生活,因此程序员比普通人需要更多的关怀,更多的友情

程序不是年轻的专利,但是,他属于年轻

作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具

程序员可以让步,却不可以退缩,可以羞涩,却不可以软弱,总之,程序员必须是勇敢的

豪翔天下

选择低调的人生

发表于 2014-06-14 | 分类于 边走边想 |

很多人都不喜欢太高调的人,但又有很多人觉得低调的人很虚伪。

大一的时候因为C语言自学得比较早,学得比较刻苦,所以当时有很多同学都叫我“大神”,“大神”这个词我也是到了大学才听过,现在多用于尊称那些技术非常牛逼之人。其
实我第一次看到牛人也会不自觉地用“大神”这个称呼,但之后我就不会这么称呼了,因为我自己也很讨厌这个叫法,我很反感别人叫我“大神”,我知道自己几斤几两,我只是
比下有余,但我比上确实是不足的。大学的前两年里,我接触的东西肯定是比百分之八九十的人都还多吧,但这又能证明什么,我清楚地明白我只是知识面比较广而已,并不代表
我在那些方面有什么很深的研究学习,真正的“大神”应该是对自己的技术有非常高的造诣并且十分热爱该技术之人。其实神也是人,只是他做了普通人做不到的事情,所以人们
才尊称他为“神”。在我看来,无论是对技术的了解,还是对技术的热爱程度,我都比不上真正的大神,而且山外有山,人外有人,你永远不知道还有多少比你强的人。

怕别人叫我“大神”除了因为我配不上这个名号外,还因为有了这个称呼后,压力会更大。众所周知,人怕出名猪怕壮,我不怕别人看不起我,就怕别人看高我。虽然我一向不是
活在别人的眼光里,但对别人对自己的看法多少还是有点关注的。当别人把你看高后,你不得不面对巨大的压力,生怕达不到别人的要求。其实这又何必呢,我学技术不是为了利
益更不是为了别人的认可,只是想获得自己内心的满足而已,就像我博客的小标题一样“Change My World by
Program”。我热爱编程,并愿意为之奋斗终身。

很多人都有一种错觉,总感觉身边的人都在关注自己的一举一动,但经过我的观察发现,其实身边大多数人并没有你想象的那么在意你,有你或没你,对他没有任何的影响。所以
做事别太高调,只有心甘情愿低调的人,才能充分享受生活,活得平心静气、踏踏实实,这样的人才能体会人间的真性情,才能不为外界左右,是最有思想的一群人。

高调生活在自己的世界里,低调生活在别人的世界里。安于低调,享受低调。

封面图片来自Pixebay

豪翔天下

《悟空传》读后感

发表于 2014-05-18 | 分类于 韦编三绝 |

《悟空传》——今何在

五百年真的很久吗,或许那只是一个梦。我不明白是否选择任何一个方向,都会游向同一个宿命。

我其实很少看网络文学的,《悟空传》同以前看过的网络作品不一样,一般的网络小说无非就是穿越、无敌什么的,而这本书并没有很强的故事情节,更多的是对人的思考。看完书评,这本书居然已经畅销十年了,影响了多少人的青春,这无疑是像我这种后青春时代的大学生最值得推荐的一本网络文学作品。就像周星驰的《大话西游》一样(以前不了解,百度一下居然是94年的),十年前看我笑了,十年后我看哭了。或许真要等到我们老去的那一天,才能完全懂得其中真谛。

经历十八年的奋斗,今天,我们终于站在了象牙塔下,可在如今的我看来,大学或许更多的是磨掉了我们的锐气。曾经的我们梦想有一天成为科学家,飞行员,英雄,而如今,我们只是希望能找到一个好点的工作。记得我在高考的前几天写了一篇日志,《那一年的梦想》来自网络上的一篇文章,当时我是定时在6月8日下午3:00发表的,也就是高考考试最后的英语的时候。还记得那一天我原本以为最后一堂考完了,会是大肆地庆祝,
放声地高歌,可英语考完那一刹那,我却突然感到异常的平静,没有料想中的那么美好,晚上的散伙饭,我们也吃得没什么激情,或许那时候我们就已经意识到,我们的青春,要走完了,迎接我们的不知道是什么。

人生之路越走越远,改变是避免不了的。我们努力去理解命运,但这并不是我们任命的借口。我不想我以后的人生就在一个一个的写字间里度过,我不会,三藏也不会,“我要这天,再遮不住我眼;要这地,再埋不了我心;要这众生,都明白我意;要那诸佛,都烟消云散”。紧箍咒永远锁不了我的心。五百年能改变什么?五百年前,悟空要天下再无他战不胜之物!五百年后,他要战胜的却是被金箍禁锢的自己!五百年前,三藏与如来赌这世间世人的命运是否皆由众神控制!五百年后,他依旧不相信那西天真经是他要找寻的答案!

成败不重要,重要的是我们用于去拼,哪怕百般阻挡,也不要自己先投降。

西游不死,传说不灭。齐天大圣孙悟空永远留在我的心中!

语录

我要这天,再遮不住我眼;要这地,再埋不了我心;要这众生,都明白我意;要那诸佛,都烟消云散 如果失去是苦,你还怕不怕付出/如果坠落是苦,你还要不要幸福/如果迷乱是苦,该开始还是结束/如果追求是苦,这是坚强还是执迷不悟

我心中爱你美丽,又怎能嘴上装四大皆空

这个世界有你不能到达的地方,有你不应到达的地方,有你一辈子也不会去到达的地方,你的世界并不如你想象的那么大,界限也许就在你身边,可你却以为你可以去任何地方。

只因心高嫌地窄,立心端要破瑶天

负尽千重罪,练就不死心

若是不悟,千里万里,也是枉然;若是悟了,脚下便是灵山

天下万物,皆来于空,可这众生爱痴,从何处来?天下万物,又终归于空,那人来到尘世浮沉,为的又是什么

是不是选择任何一个方向,都会游向同一个宿命?

豪翔天下

Linux+goagent+Chrome配置教程

发表于 2014-05-16 | 分类于 编程之路 |

本教程来源于goagent项目
具体步骤如下:

1.申请Google App Engine并创建appid,由于我早已经申请好,所以就不再赘述,详细申请过程上面那个网站上有的

2.下载最新版的goagent并解压,就在刚才那网站上面下载

3.编辑local/proxy.ini,把其中的appid = goagent,password = 你的密码
中的goagent改成你之前申请的应用的appid

4.安装依赖:

sudo apt-get install python-dev python-greenlet python-gevent python-vte
python-openssl python-crypto python-appindicator
网站上说要安装gevent1.0其实用apt安装已经是1.0了,所以不用做那一步了5.上传
在解压后的server目录下执行python uploader.zip

6.运行客户端
在local目录下赋予proxy.py可执行权限chmod +x proxy.py,然后就可以双击执行了,运行过程中请不要关闭

7.设置为开机启动
就在这个local目录下执行
python addto-startup.py

8.安装浏览器插件
在谷歌应用中心搜索Proxy SwitchySharp并安装

9.配置Proxy SwitchySharp插件:
选项 -> 导入/导出 -> 从文件恢复 -> local目录下的SwitchyOptions.bak -> 确认

10.安装证书:进入谷歌浏览器的设置 -> 高级设置 -> HTTPS/SSL的管理证书选项 -> 进到授权中心 -> 点击导入 ->
选择local文件夹里面的CA.crt -> 此时会弹出一个选项框,将该框的三种信任方式都勾选上然后确定

10.终于完成了,现在在浏览器上面的switchsharp插件选择GoaGent代理,然后推特和facebook等应该都能正常访问了,别忘了关注我的twit
ter:豪翔天下

封面图片来自Pixebay

豪翔天下

《C和指针》——C语言补漏(基本用法篇)

发表于 2014-05-14 | 分类于 韦编三绝 |

《C和指针》——Kenneth
A.Reek

这本书应该是我最后一次买盗版的经典书籍了,买了这本书后我就写下了学生应尽量购买正版,发誓以后
都在正规的书店(包括网上书店)买书。
本来以为这本书的内容挺少的,但当读到指针的部分发现我以前了解的真的很少,还好我上学期认真学过《数据结构》这门课,对指针的使用还算熟练,不然光靠以前自学的谭浩
强的C语言和课堂上教的,根本就只能算是一个只知道C语言这个东西的人。
至于这本书的阅读时间,我觉得我的时间并不正确,这本书应该是在C语言基础学完后,在数据结构之前来学习,不仅可以深入理解一下C语言的精髓,还可以顺利过渡到数据结
构的学习。
在这里就以前我不了解的一些C语言知识做一些归纳(不过这里很多都是一些以前没见过的函数以及一些用法,当然这些函数或者是用法并不是罕见的,只是在学生中比较罕见罢
了,我在网上看过很多高手的代码,发现有一些还是挺常用的)。

1.要从逻辑上删除一段C代码,更好的办法是使用#if指令。这样可以防止在一段内部已经有注释的代码外面加上注释所引起的注释不匹配的问题:

#if 0
statements

#endif

2.EOF是一个整型值,在很多读入字符的情况下,如果要判断输入是否结束,需要把字符读入为整型值,这样可以判断输入是否结束。
3.程序会使用一个运行时堆栈,它用于存储函数的局部变量和返回地址。程序同时也可以使用静态内存,存储与静态内存中的变量在程序的整个执行过程中将一直保留着他们的
值。
4.标准规定了几个特殊的三字母词,比如??(代表[,不过这个应该很少见,至少我之前一直没碰到这种情况
5.如果要创建新的类名,应该使用typedef而不是#define,因为后者无法正确处理指针类型,例如:

#define ptr char *
ptr a, b;

上面代码会使a成为一个char指针,而b却被声明为一个char
6.在定义常量的时候我们应该使用#define而不是const:

#define MAX_ELEMENTS 50
int const max_eleemnts 50;

因为只要允许使用字面值的地方都可以使用前者,比如声明数组的长度,const变量只能用于允许使用变量的地方。
7.链接属性:分为3种——external(外部)、internal(内部)和none(无)。没有链接属性的标识符(none)总是被当作单独的个体,也就是说
该标识符被当作独立不同的实体。属于internal链接属性的标识符在同一个源文件内的所有声明都指同一个实体,但位于不同源文件的多个声明则分属不同的实体。最后
,属于external链接属性的标识符不论声明多少次,位于几个源文件都表示同一个实体。
8.凡是在任何代码块之外声明的变量总是存储于静态内存中,也就是不属于堆栈的内存,这类变量称为静态变量。
9.标准说明无符号值的所有移位操作都是逻辑移位,但对于有符号值,到底是采用逻辑移位还是算术移位取决于编译器。也就是说一个程序如果所使用了有符号数的移位操作,
他就是不可移植的。
10.C函数可以理解为所有的参数均以“传值调用”的方式进行传递,传递数组时也传递的是指针的值。
11.只要有可能,函数的指针形参都应该声明为const
12.不要使用strlen来相减,因为strlen是无符号数,那么相减的结果必然也是无符号数,所以像`if( strlen(x) - strlen(y)

= 0 )`这种用法就是错的,因为结果永远都是大于等于零
13.注重可移植的程序应该避免使用位段。任何可以用位段实现的任务都可以使用移位和屏蔽来实现。
14.编译器为一个结构变量的成员分配内存时要满足他们的边界对齐要求。在实现结构存储的边界对齐时,可能会浪费一部分内存空间。根据边界对齐要求降序排列结构成员可
以最大限度地减少结构存储中浪费的内存空间。
15.在程序中,数组的长度一般是根据运行后决定的,所以最好使用动态内存分配。
16.几个预定义符号:

FILE:进行编译的源文件名
LINE:文件当前行的行号
DATE:文件被编译的日期
TIME:文件被编译的时间
STDC:如果编译器遵循ANSI C,其值就为1,否则未定义
17.如果相同的代码需要出现在程序的几个地方,通常的做法是将它实现为一个函数,而不是宏#define
18.条件编译:可以允许选择某条语句或某组语句进行翻译或者被忽略,这常用语本地调试:

#if constant-expression
statements

#endif

19.文件包含:如果是库文件一般用<>,如果是本地文件一般用””
20.删除多重包含引发的危险:

#ifndef _HEADERNAME_H

#define _HEADERNAME_H 1
/
** All the stuff that you want in the header file
/

#endif

19.绝大多数流是完全缓冲的,意味着“读取”和“写入”实际上是从一块被称为缓冲区的内存区域来回赋值数据。用于输出流的缓冲区只有当它写满时才会被刷新到设备或文
件中。也可使用fflush迫使缓冲区的数据立即写入,不管它是否已满。
20.函数库为I/O所提供的接口称为流。
21.fgets函数比gets函数更为安全,它把缓冲区长度作为参数之一,可以保证一个长输入行不会溢出缓冲区,gets函数会去除它所读取的行的换行符,puts
函数在写入到缓冲区的文本后面加上一个换行符

封面图片来自Pixebay

豪翔天下

《C和指针》——C语言补漏(函数篇)

发表于 2014-05-14 | 分类于 韦编三绝 |

1.strcpy:复制字符串
char strcpy(char _dst, char const _src);
如果字符串比数组长,多余的字符仍被复制,它们将覆盖原先存储于数组后面的内存空间的值。strcpy无法解决这个问题,因为它无法判断目标字符数组的长度
2.strncpy:复制指定长度的字符串,比strcpy安全
char _strncpy(char _dst, char const _src, size_t len);
3.其它的和上面两口子类似的有:
剪切:char _strcat(char _dst, char const _src);
char _strncat(char _dst, char const _stc, size_t len);
比较:int strcmp(char const _s1, char const _s2);
int strncmp(char const _s1, char const _s2, size_t len);
4.strchr/strrchr/strpbrk/strstr/strspn/strcspn:字符串查找
char _strchr(char const _str, int ch);第二个参数其实是字符
char _strrchr(char const _str, int ch);这是查找字符最后一次出现的位置
char _strpbrk(char const _str, char const
_group);这是在查找str中第一个匹配group中任何一个字符的字符位置
char _strstr(char const _s1, char const
_s2);在s1中查找整个s2第一次出现的起始位置,并返回一个指向该位置的指针
size_t strspn(char const _str, char const _group);对字符计数
size_t strcspn(char const _str, char const _group);
<!–more–>
5.上面这些都只能处理字符串,下面的可以处理任意的字节序列:
void _memcpy(void _dst, void const _src, size_t length);
void _memmove(void _dst, void const _src, size_t length);
void _memcmp(void const _a, void const _b, size_t length);
void _memchr(void const _a, int ch, size_t length);
void _memset(void _a, int ch, size_t length);
6.动态内存分配:
void _malloc(size_t size);动态内存分配
void free(void _pointer);内存释放
如果操作系统无法向malloc提供更多的内存,malloc就返回一个NULL指针
void _calloc(size_t num_elements, size_t
element_size);与malloc的区别是能够在返回指向内存的指针之前把它初始化为零,参数表示所需元素的数量和每个元素的字节数
void realloc(void _ptr, size_t new_size);用于新修改一个原先已经分配的内存块的大小
7.ungetc:撤销字符I/O
int ungetc( int character, FILE
stream );
把一个先前读入的字符返回到流中,这样它可以在以后被重新读入
8.fflush:迫使一个输出流的缓冲区内的数据进行物理写入,不管它是否已经写满
int fflush( FILE _stream );
9.文件指针的定位i:
long ftell( FILE _stream );返回流的当前位置,即下一个读取或写入将要开始的位置距离文件起始位置的偏移量
int fseek( FILE _stream, long offset, int from);在一个流中定位。
void rewind( FILE stream );将读/写指针设置回指定流的起始位置
int fgetpos( FILE _stream, fpos_t _position );在这个位置存储文件的当前位置
int fsetpos( FILE _stream, fpos_t const _position );把文件位置设置为存储在这个位置的值
10.改变缓冲方式:
void setbuf( FILE _stream, char _buf
);设置了另一个数组,用于对流进行缓冲,为一个流自行指定缓冲区可以防止I/O函数库为它动态分配一个缓冲区
int setvbuf( FILE _stream, char _buf, int mode, size_t size );参数中mode用于指定缓冲的类型
11.临时文件:
FILE _tmpfile(void);会创建一个文件,当文件被关闭或程序终止时这个文件便自动删除
char _tmpnam(char _name);临时文件的名字
12.删除文件:
int remove(char const _filename);删除文件
int rename(char const _oldname, char const _newname);文件重命名
13.随机数
int rand(void);
void srand(unsigned int seed);
上面两句会产生伪随机数,如果实现真正的随即需要再加一句:
srand( (unsigned int)time( 0 ) );
14.字符串与数值的相互转换:
int atoi(char const _string);转换为十进制
long int atol(char const _string);转换为十进制
long int strtol(char const _string, char
___unused, int base);可指定基数
unsigned long int strtoul( char const _string, char
**
___unused, int
base);可指定基数
double atof(char const _string);转换为float
double strtod(char const
string, char *___*unused);转换为double
15.执行系统命令(stdlib.h):
void system( char const _command );可以执行cmd的命令
16.排序和查找:
void qsort(void _base, size_t n_elements, size_t el_size, int (compare)(void
const
, void const
_));第一个参数指向需要排序的数组,第二个参数指定数组中元素的数目,第三个参数指定每个元素的长度,第四个参数是一个比较函数
void _bsearch(void const _key, void const _base, size_t n_elements, size_t
el_size, int (compare)(void const , void const _));在一个已经排好序的数组中用二分法查找一个特定的元素

封面图片来自Pixebay

豪翔天下

《C和指针》——C语言补漏(指针篇)

发表于 2014-05-14 | 分类于 韦编三绝 |

没错,对于指针,我确实只能摘取书上的少许内容,因为我在数据结构的时候已经弄明白了很多,所以这一部分并没有仔细的看,还有后面的用
C语言实现抽象数据类型,数据结构里也有讲,所以我建议还是先看《C和指针》再去学数据结构。

1.在声明指针变量时,可以为它指定初始值,如:

char message = “Hello World!”;
2.指向整型常量的指针,可以修改指针的的值,但不能修改它所指向的值:`int const
p;指向整型的常量指针,指针本身无法被修改,但是可以修改它说指向的整型的值:int const p;`
3.指针变量可以作为左值,如
d = &a;并不是因为他们是指针,而是因为他们试试变量,左值必须要能找到确切的位置
4.指针其实也可以相减,前提是他们都指向同一个数组中的元素,而且减法的结果是经过了调整的,会除以元素类型的长度。
5.数组(指针)也可以用负来访问,如a[-1],但是这和其它语言的负索引并不一样,它是指a这个指针前面的一个元素。数组甚至可以用诸如2[array]访问
,因为他们都会被翻译为#( 2 + (array) )
6.之所以我们在函数声明中包含二维数组的时候必须把第二维的数目声明,是因为我们传递进去的是一个指针数组
7.在建立指向函数的指针的时候可以建立一个转换表,就是一个函数指针数组
8.在数组不够用的时候要学会使用动态内存分配,一般初始用malloc,之后如果发现不够用,就用realloc
9.字符串常量也是一个指针,如”123″+1表示的并不是123,而是123这个字符串的指针加1即元素2的指针,也可以这样烦我呢”123″[1],他就是元素2

封面图片来自Pixabay

豪翔天下

《看见》读后感

发表于 2014-05-14 | 分类于 韦编三绝 |

《看见》——柴静

说实话,这本书居然是我初恋送给我的。不过早已经分手了,她现在在和一个警官学院的男生谈恋爱,挺好的。

柴静的这本书不仅仅记述了自己的成长历程,还表达了一个新闻工作者应该有的操守,更谱写了对生命的赞歌。我觉得每一个新闻工作者都应该看一看这本书,当然,普通人也可以看看,体会下社会不同层面的人的生活,以此来审视自己。

我是一个经常刷微博的人,特别是微博打击大V之前,那时候的新浪微博,有很多很多批评社会、揭露社会阴暗面的言论,当然,其中不乏谣言,不过很多事情,网民都宁愿相信,为什么呢?这很清楚,国内最权威的新闻应该是CCAV了,可是他们几十年如一日地对ZF歌功颂德,同时还不忘夸张地形容下外国人是生活在怎样的水深火热的情况。相比新闻联播,我更愿意看我们重庆的“天天630”,虽然重庆人也经常骂他“大事不敢播,小事起倮倮”,但是至少他更加真实,更加接地气。而CCAV却只会敷衍谄媚,即使偶尔报道下基层的文章,也是漏洞多多,完全不能让人联想到摆拍的嫌疑。现在很多新闻工作者对某些事情不敢采访,采访了也不敢播,当然,这或许并不是他们的错,毕竟体制在这儿,一时半会儿也改不了。但是希望你们能尽量的摸着自己的良心来工作。

《看见》一书,主要是写了柴静的职业生涯的几件自己映像比较深刻的事,让我体会到了很多人的平凡与伟大。说的更实际点,就是伟大总是蕴涵于平凡之中。如果一个人一辈子都能甘于平凡而绝不平庸,那这个人绝对是一个成功、伟大之人。每个人的生活都不可能完全平顺,每个人都会在生命的特定时候遇到难以避免的挫折,“加入生活欺骗了你”,不要悲伤,不要愤慨,漫漫人生路,没有过不去的坎,伤心的时候不妨去外面走走,没有抽不完的烟,悲伤总会过去。

“宽容不是道德,而是认识。唯有深刻地认识事物,才能对人和世界的复杂性有了解和体谅,才有不轻易责难和赞美的思维习惯。”这是我特别喜欢的一句话,我深有体会。很多人说我没脾气,呵呵,真的是没脾气吗,我的宽容不是天性也不是道德,而是我对事物的认识,我只是觉得在很多事情上发脾气没有用。当然我也还是一个“愤青”,对事物认识不全面,缺乏对客观事物的正确把握。

最后,每个人都有追求幸福的权利,希望作者能够成就自己,我也能够找到自己的幸福。

语录

如果那么容易的话,还要这么漫长的人生干什么呢

我就生活在这里,没有完美新世界,没有需要等待的未来,没有要向外界索求的理解,也不需要跟谁比较才能判断自己,要做的就是此时,就在此地,就是此身

失败不是悲剧,放弃才是

宽容不是道德,而是认识。唯有深刻地认识事物,才能对人和世界的复杂性有了解和体谅,才有不轻易责难和赞美的思维习惯

有的笑容背后是咬紧牙关的灵魂

保持对不同论述的警惕,才能保持自己的独立性。探寻就是要不断相信、不断怀疑、不断幻灭、不断摧毁、不断重建,为的只是避免成为偏见的附庸。或者说,煽动各种偏见的互殴,从而取得平衡,这是我所理解的“探寻”

天空一无所有,为何给我安慰——海子

人是一样的,对幸福的愿望一样,对自身完整的需要一样,只是她生在这儿,这么活着,我来到那儿,那么活着,都是偶然。万物流变,千百万年,谁都是一小粒,嵌在世界的秩序当中,采访是什么?采访是生命间的往来,认识自己越深,认识他人越深,反之亦然

生和死,苦难和苍老,都蕴涵在每一个人的体内,总有一天我们会与之相逢。我们终将浑然难分,像水溶于水中。

豪翔天下

《浮生六记》

发表于 2014-05-13 | 分类于 韦编三绝 |

《浮生六记》——沈复
也忘了当初是出于什么原因买了这本书了。书中内容并不多,但是我还是看了一些时间,主要是书中的生字,文言倒没有多大的问题,毕竟这清代的。
读完本书,我很欣赏作者的生活和写作的态度。在古代,很少看到这种详细描述了和妻子生活的作品,即使是十年生死两茫茫之类的作品只是反映了对妻子的牵挂而已。看完作者的一生,也着实为他的生活感到遗憾。一个修为如此高的人,一个只想做一个平凡人的人,怎么会经历这么多不幸的事呢。
读完本书,最大的感慨就是体会到了作者那种出世的心态。虽然作为一个21世纪的新青年,但我也有这种心态。或许,每一个程序猿都有这么一种心态吧。当然,我绝不会像古人那样做一个隐士的,我的隐,是大隐隐于朝野的隐。教我们老庄与道家思想的老师也说过,大隐隐于朝野,既能实现自己的愿望,又能做一个独立的人,一个不与世俗同流合污的人。我最大的愿望也是过上平平凡凡的生活,得一人心,白首不分离。

语录

浮生若梦,为欢几何
蜣螂团粪而化蝉,以其欲修高举也
情之所钟,虽丑不嫌
当日浑闲事,而今尽可怜
人大言,我小语;人多烦,我少记;人悸怖,我不怒;淡然无为,神气自满,此长生之药
且从来拂意之事,自不读书者见之

1…111213…15
haofly

haofly

豪翔天下的个人博客

147 日志
6 分类
RSS
GitHub 微博
小伙伴们
  • Phodal
  • zkzhao
  • 倾国倾城的博客
© 2016 haofly
由 Hexo 强力驱动
主题 - NexT.Pisces