- 浏览: 46147 次
- 性别:
- 来自: 威海
最新评论
-
shenjichao2009:
哎,我现在遇到问题,请指教。我的QQ是:897948924,请 ...
g++ 编译的小问题 -
XLLLQ:
楼上理解有问题 本来是一个东西
linux 文件描述符 进程 -
gift5168xf:
最近因为忙很少上javaeye了。但是看到了你这篇文章我不得不 ...
linux 文件描述符 进程
文章列表
在读文件使用getline时遇到的问题
- 博客分类:
- c/c++
以前读一个文件,经常使用的风格是
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;
//.....
}
但 ...
对于rand_m 生成1到n的问题
- 博客分类:
- 算法
今天在网上看到了在网上传的面试题,题目是:
已知有个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的问题
- 博客分类:
- c/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( ...
关于设置字体颜色的问题
- 博客分类:
- IT生活
对于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 ...