- 博客(40)
- 收藏
- 关注
在读文件使用getline时遇到的问题
以前读一个文件,经常使用的风格是int read_file(const char *file){//判断file是否为空, 此处省略 const int LEN=1024; char text[LEN]=""; ifstream fin(file);//判断 fin 是否已打开, 否则退出。 此处省略//下面按行读取文件 while (!fin.eof...
2011-09-30 16:36:55
506
原创 对于rand_m 生成1到n的问题
今天在网上看到了在网上传的面试题,题目是:已知有个rand7()的函数,它可以返回1到7之间的随机自然数,现在请让利用这个rand7()来构造rand10()使它能 随机地产生1~10之间的自然数。参考以下网址,我觉得写的不错。好像这是道编程之美上的题?http://www.towork.me/questions/451/ 对于这一类题目的一般公式是: m*(rand_m()-...
2011-09-23 17:24:10
315
快速排序
快速排序,虽然最坏时候的时间复杂度是O(n*n),但是平均时间复杂度是O(nlogn),所以快排是一个效率蛮高的排序方法。下面可以参考一下实现///////////////////////////////////////////////////////////////////// 文件名称: qSort.c// 功能:实现简单的快排//// 快排的基本思想是, 在数组中...
2011-09-16 19:03:42
126
二分查找
去创新工厂做了一下笔试题,发现一个二分查找也竟然写错,真服了。现在再补上吧。我把最终的要求简化一下。要求是:在一个升序的序列中,找出满足 第一个 不小于(大于或者等于)待查找元素 在数组中的位置。 如: 如果数组是 2, 4, 6, 8 (数组下标从0开始),要查找3时,此时就要返回4 在数组中的位置了 下面是简单的程序实现 #include <stdi...
2011-09-16 16:23:29
83
关于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);#endi...
2011-09-08 17:24:56
126
原创 关于设置字体颜色的问题
对于shell 终端来说,都说 黑低绿色是比较保护眼睛的。但设了乱七八糟,也没显示出效果。 如果是远程shell 连接的话,那么直接用shell的客户端设置 前景色和 背景色就可以了。 但设置完以后,你用vim 编辑的时候,普通字体就变成绿色了。 但是如果我想更改ls 的颜色呢,默认情况下 绿色是可执行文件的颜色呀。 针对这个问题,请看,转载的以下博客。感觉讲的比较...
2011-08-26 18:28:27
153
关于编程风格小记
发现自己编程风格还真的有问题,对于我这个频繁爱忘事的人来说,还是写一下吧。 对于函数,为了以后便于复用,要把函数的功能尽可能地单一化,最好一个函数不要超过100行?...为了便于阅读,比如版本升级了,别人或自己难免会再看程序,所以我们要把注释写好。 对于函数的注释,一般有以下四点,也就是函数的要素。1.函数功能:函数是做什么的2.输入参数:解释输入参数的含义3.输出...
2011-08-25 14:40:54
96
关于编程风格的问题
有时候,程序自己看,可能看不出问题,或者根本没注意。有问题了,其它告诉你在学习。看的多了,有时候也记不住,得亲自发现了,可能印象就深了。 写的程序:1.初始化2.对于函数中不需要改变的参数,设成const3.对于循环中中,反复使用的变量,再次使用时要清空 ...
2011-08-24 15:07:07
170
原创 作为一名程序员
作为一名开发人员,可能和非技术人员的沟通是个问题。作为一名开发人员,我们可能会对非技术人员的要求表示啰嗦。作为一名开发人员,我们确实应该满足非技术人员的合理要求,我们开发的,是要符合人们习惯的产品。 今天发现了一个,跑了两个月程序的问题。其实就是数据越界。用了atoi这个函数,导致两个月来的数据有问题。第一反应确实是,感觉挺辜负别人对我的信任的,毕竟把任务分配给我,觉得我能够做好。...
2011-08-15 13:02:37
132
原创 磁盘空间不足注意事项
今天在跑程序的时候,老是磁盘空间不足,昨天晚上还好好的呀。不知道怎么回事,后来请别人帮忙。原来我生成的一个日志,有29G,自己都该忘了这回事。 还有,文件在修改后都会出现 *~的文件,也要及时清理一下。。。 哎,菜鸟呀,我竟然不知道哪的事。要哭了。。。。。。...
2011-07-14 13:18:39
142
原创 shell 中的取模问题
在shell中,有时候会获取当前的时候,24小时制的。如果当前是8点钟,那么我们得到的时间 +%H 是 08,在 08进行取模运算是,就会出现 value too great for base 的错误。 这是因为,在C,perl, shell等语言中,以0开头的数,它认为是8进制数导致的。如果想让08来按照10进制来运算,则告诉它用10进行就可以了。 hour=08 if ...
2011-07-07 09:43:54
4987
原创 g++ 编译的小问题
在编译时,对于静态连接库,老是报错。如,我现在有个静态库,名字为: libdig.a 本来编译的时候,写的是 : g++ -o test -L. -ldig test.c 老是不成功。把 -ldig 拿到后面就行了。g++ -o test -L. test.c -ldig 其实,想想也是,只有在编译的时候才会去连接它。所以得把它们放到后面。放到前面就是在用它的时候,已...
2011-06-29 20:30:27
108
原创 sort 排序问题
在shell中,用sort进行排序时,如果排序中含有中文时,需要注意一下。 sort之前, 我的 LANG=zh_CN 我的数据中有中文,在进行排序时,我想按照行进行排序,如果行数据有一样的,就只显示一行。现在的结果是,即使行数据是一样的,它可能也会显示多行。最终还是因为LANG的问题,因为在zh_CN时,有的编码不能识别,导致它会比较错误 所以在sort之前,把 LA...
2011-06-17 18:08:56
116
原创 shell 日期+1
使用date -d "+1 day 日期" +%Y%m%d例子:date -d "+1 day 20101031" +%Y%m%d输出 20101101 有时候,我们处理数据时,可能要处理从某一天开始一周的数据,那么我们的输入参数可能就是第一天。然后让他自动+1处理,查了一下,这么用。...
2011-06-08 10:36:07
1361
1
原创 北邮人BT
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>...
2011-05-24 22:30:22
4188
原创 perl 基础学习_子过程
平时用C或C++编程的人,一看perl,应该感觉特别灵活吧,怎么这么多格式呀。在过程调用的时候,会涉及到C中所谓的形参。这个在perl中,是这样的 sub testPro { my (@list1, @list2) = @_; } 这是定义一个字过程,其中有@_, @_之意是,传递的当前参数的集合。当在子过程中调用传递的参数是,形式是: $_[0], $_[1]$_[...
2011-05-06 16:54:06
111
原创 vim 整体缩进反缩进
vim 整体缩进反缩进1、块选择(ctrl+v)2、缩进“=”3、反缩进“-=”在进行缩进进,vim 可以自动识别他缩进的级别,所以不会像 vc那一缩进的时候,文本可以一直往右移。很方便的。 ...
2011-04-20 17:22:20
1140
原创 passwd
今天在做鸟哥上的练习时,有这样一个修改密码的例子,echo "newpass" | passwd --stdin myuser1(给myuser1赋一个新密码 newpass)但是运行的时候出错, passwd 不支持--stdin,看来我的版本比较旧呀!那怎么修改密码呢,就用chpasswdchpasswd 可以读入未加密前的命令,且经过加密后写入/etc/shadow中。可以由...
2011-03-08 21:47:19
358
shell script
今天学了一个shell script,看了鸟哥那本书,不过倒是有点和他书上的不太一样,可能是linux版本不同的问题吧!1.在test中, 使用==代替=时出错。可能直接在终端使用”=="可以,但是在脚本中就会报错, 所以还是使用 "=" 2.在有function的脚本当中,使用sh shell.sh 执行时有错误这时,请用chmod a+x shell.sh 把执行的权限赋予...
2011-03-04 16:52:18
93
原创 查找第i小的元素
如果查找第i小的元素,当然我们可以先排序,再得到第i个元素,是可以的,但有时候排序的话,时间复杂度往往很高,O(nlgn)或者O(n*n),下面看一下,不通过排序来查找第i小的元素。见算法导论第二版(186页)先介绍两个函数,此函数的作用是将数组A【p, r】分成两部分,一部分大于A[r],一部分小于A[r],A[r]是分隔点。函数的返回值是A[r]元素在数组中的新位置。 PART...
2011-01-15 22:14:20
293
1
原创 bucket sort
Bucket sort runs in linear time when the input is drawn from a uniform distribution. Bucket sort assumes that the input is generated by a random process that distributes elements uniformly over the i...
2011-01-14 20:21:51
98
原创 Counting sort
Counting sort assumes that each of the n input elements is an integer in the range 0 to k. The basic idea of counting sort is to determine, for each input element x, the number of elements lesst...
2011-01-14 09:26:51
76
一个简单的堆排序的程序
堆排序的小例子,可以参考一下#include <stdio.h>int parent(int i){ return i/2;}int left_child(int i){ return 2*i;}int right_child(int i){ return 2*i+1;}//n the range n...
2010-12-11 10:40:15
93
原创 C 方便找错 方法
我们在用C写程序的时候,往往会用到一些运行错误,我们想定位错误在哪,又不想调试,通过是用一系列的printf打印一些信息,如果打印的信息太多,我们可能又不容易定位到到底是哪个地方打印的,现在咱们可以使用几个宏定义来解决这个问题。__FILE__ 是 当前程序运行的文件 __LINE__ 是当前程序运行所在的行__FUNCTION__ 是当前程序运行所在的函数。下面举一个例子...
2010-11-19 11:39:23
118
原创 Dev C++ 调试问题
在dev c++ 环境中,写程序的时候,写了一个类,但是有点问题,想调试一下,但是调试的时候,老出现这个问题your project does not have debugging info, do you want to enable debugging and rebuild your project?在网上搜了一下解决方法在 tools --> compiler optio...
2010-11-13 21:10:58
261
原创 segment fault
有时候写了一个C程序,感觉没什么错误,但老是报 segment fault错误!当然了,其中一方面是和内存相关的,看看你的指针有没有乱指之类的,不过我还遇到另一方面的,同样的问题,在网上一搜也有答案,就是printf();我们通常会利用printf()函数打印信息来帮助我们查找错误的原因,或者程序的执行流程,但当你的格式输出与后面的输出项不一致的时候,通常也会产生segment fault...
2010-10-25 21:20:35
99
原创 free 出错问题
在写程序的时候,老是报错,说我free()函数错了。之前在学习的时候,知道是用了malloc 之类的时候,要用free()释放掉。为什么会出错呢,在网上搜了一下,说是程序越界。 比如:我这样 char *p = (char *p) malloc(5*sizeof(char));但是我使用p的时候,用了大于5的空间,如 strcpy(p, "HelloWorld!"...
2010-10-20 23:28:06
388
关于select 函数
关于select 函数,网上有很多例子。函数原型是:int select(int n,fd_set * readfds,fd_set * writefds,fd_set * exceptfds,struct timeval * timeout);有个参数是 readfds和writefds,我在调用这个函数的时候,两个都是设为非空,结果,运行老是出错...
2010-10-10 16:24:41
80
原创 vc 6.0 注释 快捷键的设置
在用java开发的时候,用eclipse 的快捷键很方便就能注释了,在VC6.0中,应该也有吧,就在网上搜了一下,结果还真有。所以就拿来分享一下。原文地址在这,非常感觉作者。http://wenku.baidu.com/view/47f70760ddccda38376bafd1.html VC6.0中注释快捷键的设置2009-03-13 18:521.设置工具栏中变成注释按...
2010-09-18 10:30:52
208
原创 linux 命令行 连字符
在linux命令行中,命令的参数有的时候是一个连字符,有的时候是两个连字符,有什么区别吗,今天在网上看了一下转自:http://doc.chinaunix.net/linux/201003/456376.shtml 对于options类型参数可以有两种方式: 1)短选项(short options):顾名思义,就是短小参数。它们通常包含一个连字号和一个字母(大写 或小...
2010-05-07 13:09:04
238
原创 linux下连接mysql
今天想在linux下连接mysql, 在官网上下了三个rpm文件,MySQL-client-community-5.1.46-1.rhel5.i386.rpmMySQL-server-community-5.1.46-1.rhel5.i386.rpmMySQL-devel-community-5.1.46-1.rhel5.i386.rpm(开发需要)下载地址在:...
2010-05-07 12:56:49
113
(转)gdb调试的例子
最近在Linux学习编程,不知道怎么调试。上网看了一下,也有好多例子。下面给大家推荐一下比较简单明了,易上手的例子,帮你了解各个命令的使用 。链接 http://blog.sina.com.cn/s/blog_4c8158170100a4m3.html...
2010-04-28 11:13:15
61
错误 fd为1
今天看qmail源代码的时候,有这句话,fd_move(1, pim[0]);然后自己写了个程序,怎么运行也不正确。看下面的代码: if ( (close(1))==-1){ printf("close error!\n"); return -1;}else{ printf("right\n");} 结果,什么也不输出,看了半天,想起来...
2010-04-25 10:46:33
199
C gets dangerouse
我有一个test_client.c文件,里面使用了C库自带的函数gets,可是当我编译时,出现这个warning,test_client.c:(.text+0x128):warning:the 'gets' function is dangerouse and should not be used. 出现这个警告,在网上搜一下,会有好多答案,但我还是啰嗦一下吧!#include &...
2010-04-22 09:32:01
117
source insight
在用source insight 查看源源代码的时候,出现 parse too complex.可能解决方法不一样,针对我这个工程下,我是这么解决的,当然了,大家也可以看一下它的帮助.针对我这个,应该是对于有些部分,类似于这种的,解析不了.void temp_oserr() { out("Z\System resources temporarily unavailable. (#4.3...
2010-04-18 15:06:17
136
linux 管道 进程
可能在linux下做开发,难免都会涉及到进程吧!当然,linux产生新进程的方法很多,我说一个最原始的,管道吧.首先我的linux水平是很菜鸟的,几乎没什么基础.当我看linux通过pipe()通信时,感觉很奇怪.int main(void){ pid_t pid; int pi[2]; pipe(pi); //创建管道 if ((pid...
2010-04-17 11:17:40
98
linux 文件描述符 进程
今天在看qmail 源代码的时候,有关进程和文件描述符的地方,有点不懂,在网上小查了一下,浅显的样子应该是这样.文件描述符,录属于进程.对于不同的进程,文件描述符是相互独立的,所以在不同的进程中,可以用相同的文件描述符来指向不同的文件或者管道之类的.下面是在unix 环境高级编程的话:对于内核而言 ,所有打开文件都由文件描述符引用.文件描述符是一个非负整数.当打开一个现存文...
2010-04-17 10:40:58
126
C 库函数
最近想在Linux下学习编程,但是有点感觉没头绪,不像在windows下有 msdn这种帮助文档,不过有的帮助信息还是可是查的尤其是在阅读别人源代码的时候.这个网址大家可以看看,我觉得挺有帮助的呀.标准C 库函数:http://www.cplusplus.comlinux C 库函数http://man.chinaunix.net/develop/c...
2010-04-11 09:35:52
66
C函数声明与定义
以前老以为,函数的声明与定义,样子必须一致.今天看了一个源代码,发现可以不这样.比如:在str.h中有如下代码#ifndef STR_H#define STR_Hint str_start(); #endifstr.c中 #include "str.h"int str_start(char *s, char *t)/* s t 相等返回 1, ...
2010-04-05 15:38:41
98
RHEL5 下安装GCC编译环境(转)
今天在网上搜了,关于安装的有好多.不过搜到的这篇文章,对我最实用,希望对你也实用.我是一个完全的linux新手呀.我安的是RHEL5.3,是在虚拟机下安装的,所依赖的软件都在镜像文件的Server目录下系统默认安装时并没有安装编译环境,也就是说GCC也没有装进去。 [size=large][/size]所幸的是RHEL的光盘上的Server目录里已经包含了gcc和其所依...
2010-03-13 14:30:44
96
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人