`
chaotang0281
  • 浏览: 46147 次
  • 性别: Icon_minigender_2
  • 来自: 威海
社区版块
存档分类
最新评论
文章列表
  以前读一个文件,经常使用的风格是 int read_file(const char *file) { //判断file是否为空, 此处省略 const int LEN=1024; char text[LEN]=""; ifstream fin(file); //判断 fin 是否已打开, 否则退出。 此处省略 //下面按行读取文件 while (!fin.eof()){ if (fin.getline(text, LEN).good()==false()) //判断流是否正常 break; //..... }    但 ...
今天在网上看到了在网上传的面试题,题目是: 已知有个rand7()的函数,它可以返回1到7之间的随机自然数,现在请让利用这个rand7()来构造rand10()使它能 随机地产生1~10之间的自然数。 参考以下网址,我觉得写的不错。好像这是道编程之美上的题? http://www.towork.me/questions/451/   对于这一类题目的一般公式是: m*(rand_m()-1)+rand_m();n<m && n<=m*m 注: rand_m() 可以生成 [1,m]的自然数, 要生成 rand_n() 即[1,n]的自然数的公式。 其实, ...

快速排序

快速排序,虽然最坏时候的时间复杂度是O(n*n),但是平均时间复杂度是O(nlogn),所以快排是一个效率蛮高的排序方法。 下面可以参考一下实现 /////////////////////////////////////////////////////////////////// // 文件名称: qSort.c // 功能:实现简 ...

二分查找

去创新工厂做了一下笔试题,发现一个二分查找也竟然写错,真服了。 现在再补上吧。 我把最终的要求简化一下。要求是:在一个升序的序列中,找出满足 第一个 不小于(大于或者等于)待查找元素 在数组中的位置。   如: 如果数组是 2, 4, 6, 8  (数组下标从0开始),要查找3时,此时就要返回4 在数组中的位置了   下面是简单的程序实现   #include <stdio.h> /////////////////////////////////////////////////////////////////// // 功能描述:二分查找, 数组是按照升序 ...

关于extern c的问题

以前只知道extern "c" 大概是怎么回事,但是从来没动手用过。 今天小试了一下。 包括四个文件 cExample.h, cExample.c, example.cpp, 以及Makefile   cExample.h #ifndef _CEXAMPLE_H_ #define _CEXAMPLE_H_ extern int add(int a, int b); #endif   cExample.c #include <stdio.h> #include "cExample.h" int add( ...
对于shell 终端来说,都说 黑低绿色是比较保护眼睛的。但设了乱七八糟,也没显示出效果。   如果是远程shell 连接的话,那么直接用shell的客户端设置 前景色和 背景色就可以了。   但设置完以后,你用vim 编辑的时候,普通字体就变成绿色了。   但是如果我想更改ls 的颜色呢,默认情况下 绿色是可执行文件的颜色呀。   针对这个问题,请看,转载的以下博客。感觉讲的比较详细,也很好。     http://blog.sina.com.cn/s/blog_746638070100suid.html   再次感谢一下楼主
发现自己编程风格还真的有问题,对于我这个频繁爱忘事的人来说,还是写一下吧。   对于函数,为了以后便于复用,要把函数的功能尽可能地单一化,最好一个函数不要超过100行?... 为了便于阅读,比如版本升级了,别人或自己难免会再看程序,所以我们要把注释写好。   对于函数的注释,一般有以下四点,也就是函数的要素。 1.函数功能:函数是做什么的 2.输入参数:解释输入参数的含义 3.输出参数:解释输出参数的含义 4.返回值:返回不同的结果代表的含义   对于重要的函数,我们可以写上调用实例。比如调用 : add(3, 4);   习惯得慢慢培养,刚开始这么写的时候,你肯定感觉 ...
有时候,程序自己看,可能看不出问题,或者根本没注意。 有问题了,其它告诉你在学习。 看的多了,有时候也记不住,得亲自发现了,可能印象就深了。   写的程序: 1.初始化 2.对于函数中不需要改变的参数,设成const 3.对于循环中中,反复使用的变量,再次使用时要清空  
作为一名开发人员,可能和非技术人员的沟通是个问题。 作为一名开发人员,我们可能会对非技术人员的要求表示啰嗦。 作为一名开发人员,我们确实应该满足非技术人员的合理要求,我们开发的,是要符合人们习惯的产品。   今天发现了一个,跑了两个月程序的问题。其实就是数据越界。用了atoi这个函数,导致两个月来的数据有问题。第一反应确实是,感觉挺辜负别人对我的信任的,毕竟把任务分配给我,觉得我能够做好。当时心里确实不好受。但是我想在这之余,应该要收获更多一点才行。   教训最大的就是:要把我们程序的处理结果,分析一下,是不是符合实际的逻辑情况。这有助于帮助我们判断我们的程序是否合理正确的执行。就拿 ...
今天在跑程序的时候,老是磁盘空间不足,昨天晚上还好好的呀。不知道怎么回事,后来请别人帮忙。原来我生成的一个日志,有29G,自己都该忘了这回事。   还有,文件在修改后都会出现 *~的文件,也要及时清理一下。。。   哎,菜鸟呀,我竟然不知道哪的事。要哭了。。。。。。
在shell中,有时候会获取当前的时候,24小时制的。如果当前是8点钟,那么我们得到的时间 +%H 是 08,在 08进行取模运算是,就会出现 value too great for base 的错误。   这是因为,在C,perl, shell等语言中,以0开头的数,它认为是8进制数导致的。如果想让08来按照10进制来运算,则告诉它用10进行就可以了。   hour=08   if [ $((10$hour%2)) -eq 0 ]   这样就可以了。   参考以下链接 http://www.yayu.org/look.php?id=157
在编译时,对于静态连接库,老是报错。如,我现在有个静态库,名字为: libdig.a   本来编译的时候,写的是 : g++ -o test -L. -ldig test.c   老是不成功。把 -ldig 拿到后面就行了。 g++ -o test -L. test.c -ldig   其实,想想也是,只有在编译的时候才会去连接它。所以得把它们放到后面。放到前面就是在用它的时候,已经看不到了。     还有一个经常犯的问题,就是对参数有const的情况,经常忘。   如:对于sort函数来讲,比如,你想根据自己的逻辑进行排序,自己写个函数。如果传递的是引用,一定要加上c ...
在shell中,用sort进行排序时,如果排序中含有中文时,需要注意一下。   sort之前, 我的 LANG=zh_CN   我的数据中有中文,在进行排序时,我想按照行进行排序,如果行数据有一样的,就只显示一行。现在的结果是,即使行数据是一样的,它可能也会显示多行。 最终还是因为LANG的问题,因为在zh_CN时,有的编码不能识别,导致它会比较错误   所以在sort之前,把 LANG=GBK就将这个问题解决了  
使用 date -d "+1 day 日期" +%Y%m%d 例子: date -d "+1 day 20101031" +%Y%m%d 输出 20101101 有时候,我们处理数据时,可能要处理从某一天开始一周的数据,那么我们的输入参数可能就是第一天。然后让他自动+1处理,查了一下,这么用。
http://www.ipv6home.cn/bbs/thread-7878-1-1.html   北邮人BT需安装IPV6,安装方法见上面的连接。针对WinXP的情况, C:\Documents and Settings\Administrator>netsh 回车netsh>int 回车netsh interface>ipv6 回车netsh interface>ipv6>install 回车netsh interface ipv6>isatap 回车netsh interface ipv6 isatap>set router isatap.b ...
Global site tag (gtag.js) - Google Analytics