摘要:
本程序使用C语言读取类似以下格式的properties文件。path = /etc/wgetrclaunch_on_start = true下一版目标:(1)使用指针代替二维数据或者二维数据的容量减少至最低要求。(2)忽略所有空格,忽略空行及注释行(3)头文件规范写法。文件1:main.c#incl... 阅读全文
随笔档案-2013年02月
使用Subversion进行版本控制 附录A
2013-02-25 16:49 by jediael, 162 阅读, 收藏, 编辑
摘要:
更详细内容请见:中文版:http://www.subversion.org.cn/svnbook/英文版:http://svnbook.red-bean.com/快速指南“请确定你坐在了正确的位置,你的盘桌已经关闭,乘务员们,准备起飞…。”这是一个非常高层次的教程,能够帮助你熟悉Subversion... 阅读全文
使用lstat()判断文件类型
2013-02-24 11:48 by jediael, 212 阅读, 收藏, 编辑
摘要:
#include #include #include #include #include #define _GNU_SOURCEint main (int argc, char *argv[]){ struct stat buf; for(int i = 1; i < argc; i++... 阅读全文
读取并分析wgetrc文件
2013-02-23 21:07 by jediael, 295 阅读, 收藏, 编辑
摘要:
main(): /* If the user did not specify a config, read the system wgetrc and ~/.wgetrc. */ if (use_userconfig == false) initialize ();initialize()... 阅读全文
关于VMware虚拟机的上网
2013-02-20 14:36 by jediael, 137 阅读, 收藏, 编辑
摘要:
转载请注明出处!本文连接及作者。不得用于商业用途!http://hi.baidu.com/quantumcloud/blog/item/9156a6c584996c179c163d5b.htmlBY:aiminickwong最近我遇到很多朋友在问我vmware workstation 版本虚拟机的上... 阅读全文
终端、虚拟控制台与伪终端
2013-02-19 15:15 by jediael, 262 阅读, 收藏, 编辑
摘要:
(1)在本机上登录字符界面或者X11图形界面均为tty终端(2)通过telnet/ssh远程登录或者在X11中生成一个XTERM的终端,均为虚拟终端PTS。如:[lujinhong@localhost ~]$ wholujinhong tty2 2013-02-18 22:47ora... 阅读全文
syslog()的基本用法
2013-02-18 22:59 by jediael, 174 阅读, 收藏, 编辑
摘要:
参考自《Linux程序设计》第二版 P137#include #include #include #include int main(void){ FILE *pfile; pfile = fopen("/home/kkk", "r"); if(!pfile){ ... 阅读全文
errno的基本用法
2013-02-18 21:49 by jediael, 196 阅读, 收藏, 编辑
摘要:
error是一个包含在中的预定义的外部int变量,用于表示最近一个函数调用是否产生了错误。若为0,则无错误,其它值均表示一类错误。perror()和strerrot()函数可以把errno的值转化为有意义的字符输出。#include #include #include #include #inclu... 阅读全文
Linux系统常用目录操作函数
2013-02-18 16:44 by jediael, 150 阅读, 收藏, 编辑
摘要:
参考《Linux程序设计》第二版P103扫描目录:#include #include #include #include #include #include #include void printdir(char *dir, int depth);int main(void){ printf(... 阅读全文
文件复制函数的效率比较
2013-02-17 21:20 by jediael, 148 阅读, 收藏, 编辑
摘要:
使用read, write, scanf, printf等系统调用或库函数,可以实现简单的文件复制程序,但效率上有明显差别。方法一:逐个字符读入并输出#include #include #include #include #include #include int main(void){ ch... 阅读全文
Linux系统调用相关概念
2013-02-16 15:30 by jediael, 245 阅读, 收藏, 编辑
摘要:
目录:1. Linux系统调用原理2. 系统调用的实现3. Linux系统调用分类及列表4.系统调用、用户编程接口(API)、系统命令和内核函数的关系5. Linux系统调用实例6. Linux自定义系统调用1.系统调用原理系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户... 阅读全文
指针与数组关联导致的一些现象
2013-02-11 20:14 by jediael, 162 阅读, 收藏, 编辑
摘要:
1、当指针指向数组元素时,C语言允许对指针进行数值运算,支持并且只支持以下三种运算(1)指针加上一个整数(2)指针减去一个整数(3)两个指针相减2、两个指针的比较p1=&a[1];p2=&a[2];则p2>p13、若数组有N个元素,则虽然a[N]不存在,但经常使用for(int *p=&a[0]; ... 阅读全文
查找数组中最大的2个数
2013-02-11 19:52 by jediael, 143 阅读, 收藏, 编辑
摘要:
(1)在C语言的被调用函数中,没有办法求出数组实参的大小,因此需要显示传递array_length参数。详见博客:C语言内存分配时间。(2)以O(N)的计算时间得出结果。#include void find_2_largest(int array[], int array_length, int *... 阅读全文
C语言声明数组变量时,在什么情况下,可不指定数组大小
2013-02-11 11:03 by jediael, 383 阅读, 收藏, 编辑
摘要:
只有以下三种情况:(1)数组是形式参数(2)数组声明的同时进行了初始化(3)数组的存储类型为extern参考自:《C语言程序设计:现代方法》P334 阅读全文
C语言内存分配时间
2013-02-11 10:51 by jediael, 192 阅读, 收藏, 编辑
摘要:
1、变量在声明时即分配内存,此时将根据变量的内存分配内存大小,如int类型4字节,float类型4字节,double类型8字节。如下例中的a.2、但对于数组,有以下几种情况(以int类型为例):(1)声明数组时即指定数组大小N,则此时可按N*sizeof(int)的大小分配内存。如下例中的c。(2)... 阅读全文
C语言程序的内存分配方式
2013-02-11 10:18 by jediael, 240 阅读, 收藏, 编辑
摘要:
1.内存分配方式 内存分配方式有三种: [1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 [2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运... 阅读全文
常用的位操作:置位、清零与测试
2013-02-09 22:54 by jediael, 275 阅读, 收藏, 编辑
摘要:
以下程序可用于把某个位置位、清零或测试某位为0还是1:#include #include int setbit(int num, int bit);int clearbit(int num, int bit);bool testbit(int num, int bit);int main(void)... 阅读全文
使用异或加密数据
2013-02-09 22:24 by jediael, 138 阅读, 收藏, 编辑
摘要:
(1)使用异或可简单加密数据,解密时使用加密后的数据与密钥重做一次异或运算即可。(2)由于某些操作系统不能正确处理非打印字符,因此,对于此类字符可采取原有不做加密。#include #include #define KEY 'z'int main(void){ char orig_char, new... 阅读全文
枚举作为整数
2013-02-08 11:22 by jediael, 278 阅读, 收藏, 编辑
摘要:
1、枚举作为整数在系统内部,C语言会把枚举变量和常量作为整数来处理,默认情况下,编译器会把整数0、1、2、3……赋给特定枚举中的常量。如枚举city中,GZ、FS、SZ、DG分别被赋值0、1、2、3。而枚举变量C1被保存为0,C2为3……2、枚举值的取值范围当定义一个枚举变量时,其值可以为enum中... 阅读全文
宏定义一些内容
2013-02-07 23:20 by jediael, 152 阅读, 收藏, 编辑
摘要:
预处理指令大多数预处理指令都属于下面3种之一:(1)宏定义(2)文件包含(3)条件编译其它还有一些不常用的#error #line和pragma。宏定义(1)简单的宏#define PI 3.141592654(2)带参数的宏#define MAX(x,y) ((x)>(y)?(x):(y))宏定... 阅读全文
libc glibc glib 的关系
2013-02-07 22:22 by jediael, 316 阅读, 收藏, 编辑
摘要:
发现很多人没有搞清楚这两个东西.有个错误的观点:认为Glib是GNU的东东.(因为前面那个"g"),而Glibc是Glib的一个子集. 其实,Glib和Glibc基本上没有太大的联系,可能唯一的共同点就是他们都是UNIX下C编程调用的库而已. Glib是GTK+调用的底层核心库.(GTK+由开发G... 阅读全文
重要的开源资源及50个c/c++源代码网站
2013-02-06 21:52 by jediael, 199 阅读, 收藏, 编辑
摘要:
我的选择:http://c-faq.com/index.html很多很多有用的信息,如书籍推荐、编译器介绍,在哪找到C库函数的源代码等,还有一些C语言的知识点。http://stackoverflow.com/questions/tagged/c?sort=votes&pagesize=15论坛ht... 阅读全文
Segmentation fault (core dumped)
2013-02-06 11:34 by jediael, 251 阅读, 收藏, 编辑
摘要:
以下程序不小心在11行scanf()中把parr写成了*parr,在编译时没问题,但在运行时出现:[lujinhong@lujinhong chapter12]$ gcc reverse3.c[lujinhong@lujinhong chapter12]$ ./a.outEnter 10 numbe... 阅读全文
Segment fault及LINUX core dump详解
2013-02-06 11:03 by jediael, 272 阅读, 收藏, 编辑
摘要:
C 程序在进行中发生segment fault(core dump)错误,通常与内存操作不当有关,主要有以下几种情况:(1)数组越界。(2)修改了只读内存。(3)scanf("%d",n),n不是指针。……1. 前言:有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这... 阅读全文
把十进制转化为二进制的一种方法
2013-02-05 12:50 by jediael, 150 阅读, 收藏, 编辑
摘要:
把十进制转化为二进制的一种方法:void pb(int n){ if(n != 0){ pb(n/2); putchar('0'+n%2); }}int main(void){ for(int i=10; i<25; i++){ pb(i)... 阅读全文
GTK+与QT的对比
2013-02-05 09:27 by jediael, 1308 阅读, 收藏, 编辑
摘要:
想看看图形界面系统的优缺点,转载了网友整理的:GTK+的优点与QT的优点整理在嵌入式 Linux 下有很多图形界面系统 GUI,包括 Qt/Embedded,FLTK,Microwindows 和 GTK+ 等。作为一个开发者,到底使用什么样的 GUI 系统呢?对一个系统,将它改造为符合你的需求,你... 阅读全文
产生不重复的随机牌
2013-02-04 22:06 by jediael, 160 阅读, 收藏, 编辑
摘要:
《C语言程序设计:现代方法》p121例/************************************************* * *本程序根据用户的输入,生成相应数量的扑克牌。 * * ************************************************/#... 阅读全文
Scanf连续调用多次并且存在%c的问题
2013-02-04 14:06 by jediael, 241 阅读, 收藏, 编辑
摘要:
问题现象:当程序中存在多个scanf时,针对第一个scanf的输入,一般用户会以空白字符(空格、换行、tab、换页符)等结束。但若后面有一个scanf(“%c”,&ch),则刚才输入的空白字符会被此次的scanf读入,因此空白字符也是一个字符,此将导致ch为空。原因解释:scanf的工作原理:(一般... 阅读全文
数据库崩溃后对redo log的使用
2013-02-04 14:05 by jediael, 167 阅读, 收藏, 编辑
摘要:
用户对数据库做的任何操作均会产生redo log,事实上是先把redo log写到redo log cache中,再把实际数据更改写至buffer cache中。Redo log会在以下情况从redo log cache写至online redo log file中:l每隔3秒钟lRedo log ... 阅读全文
SQL语句、PL/SQL语句、SQL*PLUS语句结束符号
2013-02-04 14:05 by jediael, 217 阅读, 收藏, 编辑
摘要:
(1)SQL语句以;或者/结束语句。(2)PL/SQL语句以/结束语句。(3)SQL*PLUS语句以换行符结束语句。 阅读全文
Oracle学习计划
2013-02-04 14:04 by jediael, 498 阅读, 收藏, 编辑
摘要:
这两天,在网上参考了大量的文档,制定了Oracle学习的读书计划,共分三个阶段:第一阶段:目标:系统学习、巩固基础。书籍:(1)Oracle Concept, Oracle Performance Tuning Guid, Oracle database administrator’s Guide。... 阅读全文
Linux学习路径
2013-02-04 14:04 by jediael, 132 阅读, 收藏, 编辑
摘要:
红色字体为本人注释很多同学接触Linux不多,对Linux平台的开发更是一无所知。而现在的趋势越来越表明,作为一 个优秀的软件开发人员,或计算机IT行业从业人员,掌握Linux是一种很重要的谋生资源与手段。下来我将会结合自己的几年的个人开发经验,及对 Linux,更是类UNIX系统,及开源软件文化,... 阅读全文
一年足迹记录
2013-02-04 14:02 by jediael, 239 阅读, 收藏, 编辑
摘要:
自2011年11月首次出差至西安,至2012年12月东北之旅,在一年的时间里畅游了11个省,以后不知道还有没有这种激情,于是先把这经历记录下来。回想这一年,感受到西藏的缺氧,也感受过在青城山上的醉氧;在零下26度玩过雪,也在炎热的海南玩过水;欣赏过西北大地的壮观,也欣赏过江南的温婉;见识过香港的繁华... 阅读全文
使用sys无法通过sqlplus或者sqldeveloper连接数据库
2013-02-04 14:02 by jediael, 241 阅读, 收藏, 编辑
摘要:
现象:用sql developer或者sqlplus连接数据库,提示:ORA-01017: invalid username/password; logon denied。一般用户可以连接,因为这些用户是使用数据字典认证的。其它实例的sys用户也用正常连接。处理过程:(1)之前密码一直可用,周一上班... 阅读全文
c语言中<stdbool.h>的使用
2013-02-03 21:46 by jediael, 496 阅读, 收藏, 编辑
摘要:
(1)使用了后,可使用true和false来表示真假。(2)在循环语句中进行变量声明是C99中才有的,因此编译时显式指明 gcc -std=c99 prime.c[lujinhong@lujinhong chapter9]$ gcc prime.cprime.c: In function ‘is... 阅读全文
return 与 exit()的区别--return退出本函数,exit()退出整个程序
2013-02-03 19:44 by jediael, 176 阅读, 收藏, 编辑
摘要:
retrun与exit()均可用于函数的返回,但return只是本函数的返回,而exit()则是整个程序的退出。#include int sum(int a, int b);int main(void){ int s; printf("test"); s=sum(2,3); printf(... 阅读全文