代码改变世界

将缓冲区的数字字符串转化成BCD码数据_INT PubNumericToBCDStr(_UCHR *pcNStr, _INT iNLen, _UCHR *pcBCDStr)

2014-03-21 15:34 by 夏洛克·福尔摩斯, 318 阅读, 0 推荐, 收藏, 编辑
摘要:INT PubNumericToBCDStr(_CHR *pcNStr, _INT iNLen, _CHR *pcBCDStr){ _UCHR *pN = pcNStr; _UCHR *pB = pcBCDStr; _UCHR caBuffer[2]; _UCHR cHigh, cLow; _UINT iCount = 0; _UINT iNCount = iNLen / 2 + iNLen % 2; if((pcNStr == NULL) || (pcBCDStr == NULL)) { sprintf(g_caMsg,"[%s:... 阅读全文

linux crontab详解

2014-03-04 17:23 by 夏洛克·福尔摩斯, 217 阅读, 0 推荐, 收藏, 编辑
摘要:服务的启动和停止cron服务是linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:/sbin/service crond start/sbin/service crond stop/sbin/service crond restart/sbin/service crond reload以上1-4行分别为启动、停止、重启服务和重新加载配置。要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入/sbin/service crond start即可。查看、编辑和删除cron把命令行保存在crontab(cron table)文件里,这个文件 阅读全文

linux 下怎样查找一个文件夹在哪个目录下?

2013-11-28 14:15 by 夏洛克·福尔摩斯, 867 阅读, 0 推荐, 收藏, 编辑
摘要:如果只显示所在目录的路径:find 目录 -type d -name "查询目录名" -printf "%h\n"如果同时显示目录名称和所在目录的路径:find 目录 -type d -name "查询目录名" -printf "%p %h\n" 阅读全文

informix服务端口和oralce服务端口

2013-11-26 18:02 by 夏洛克·福尔摩斯, 1259 阅读, 0 推荐, 收藏, 编辑
摘要:查找informix的服务端口1>>more .profile找到:INFORMIXDIR=/home/informixINFORMIXSERVER=aaaa2>>cd $INFORMIXDIR/etc3>>more sqlhosts找到下面一航aaaa onsoctcp IBM105 aa_service4>>cd /etc5>>vi services查找 aa_service会定位到aa_service9999/tcpOk,大功告成 9999就是我们要找的端口。oracle的服务启动与端口打开1,查看监听端口:C:\ Docume 阅读全文

linux各类压缩解压命令大全

2013-11-12 16:20 by 夏洛克·福尔摩斯, 316 阅读, 0 推荐, 收藏, 编辑
摘要:01-.tar格式解包:[*******]$tar xvf FileName.tar打包:[*******]$tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)02-.gz格式解压1:[*******]$gunzip FileName.gz解压2:[*******]$gzip -d FileName.gz压 缩:[*******]$gzip FileName03-.tar.gz格式解压:[*******]$tar zxvf FileName.tar.gz压缩:[*******]$tar zcvf FileName.tar.gz DirName04-.bz2 阅读全文

dup和dup2详解

2013-10-14 18:50 by 夏洛克·福尔摩斯, 1099 阅读, 0 推荐, 收藏, 编辑
摘要:C语言中dup和dup2函数的不同和使用发表时间: 2012年11月15日|作者: 陈杰斌|所属分类:C语言|评论: 0|浏览: 1024在unix高级编程中有介绍dup和dup2,但是没有实例说明, 笔者自己结合实例进行了测试了解。在linux下,通过open打开以文件后,会返回一个文件描述符,文件描述符会指向一个文件表,文件表中的节点指针会指向节点表。看下图:打开文件的内核数据结构dup和dup2两个函数都可以用来复制打开的文件描述符,复制成功后和复制源共享同一个文件表。看下图:执行dup后的内核数据结构dup函数dup(现存的文件描述符)dup返回的新文件描述符一定是当前可以用描述符中的 阅读全文

假设我的朋友账号分别是v{1,2,3,4,5},且这五人想要共享一个目录,因此应该加入同一个群组,假设这个群组为vbird,且这五个账号的密码均为password.那该如何建置这五个账号?

2013-10-08 16:01 by 夏洛克·福尔摩斯, 336 阅读, 0 推荐, 收藏, 编辑
摘要:假设我的朋友账号分别是v{1,2,3,4,5},且这五人想要共享一个目录,因此应该加入同一个群组,假设这个群组为vbird,且这五个账号的密码均为password.那该如何建置这五个账号?#!/bin/bashgroupadd vbirdfor username in v1 v2 v3 v4 v5do useradd -G vbird $username echo "password" | passwd --stdin $usernamedone这五人的共享目录建至于/home/vbird这个目录,这个目录只能给这五个人使用,且每个人均可于该目录内进行任何动作,那该如何建置 阅读全文

linux crontab设置定期执行脚本

2013-09-10 11:46 by 夏洛克·福尔摩斯, 924 阅读, 0 推荐, 收藏, 编辑
摘要:Linux下crontab命令的用法任务调度的crond常驻命令crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。而linux任务调度的工作主要分为以下两类:1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中:文件含义/etc/cron.deny 阅读全文

启用Oracle中的scott用户

2013-08-16 15:28 by 夏洛克·福尔摩斯, 816 阅读, 0 推荐, 收藏, 编辑
摘要:启用Oracle中的scott用户在Linux系统上安装Oracle服务器,有的不含有scott用户,有的scott用户被锁。下面是添加scott用户或解锁scott。一、验证scott用户是否存在用oracle用户登录su–oracle,之后用SYS用户连接数据库:$sqlplus/assysdbaSQL>connscott/tigerERROR:ORA-28000:theaccountislocked说明scott用户被锁或不存在,先解锁试试$sqlplus/assysdbaSQL>alteruser"scott"accountunlock;alteruse 阅读全文

linux文件截取前几行,后几行,中间几行命令

2013-08-09 14:04 by 夏洛克·福尔摩斯, 5671 阅读, 0 推荐, 收藏, 编辑
摘要:1. 如果你只想看文件的前5行,可以使用head命令,如:head -5 /etc/passwd2. 如果你想查看文件的后10行,可以使用tail命令,如:tail -2 /etc/passwd 或 tail -n 2 /etc/passwdtail -f /var/log/messages参数-f使tail不停地去读最新的内容,这样有实时监视的效果,用Ctrl+c来终止!3. 查看文件中间一段,你可以使用sed命令,如:sed -n '5,10p' /etc/passwd这样你就可以只查看文件的第5行到第10行。 阅读全文

测试目标机的字节序

2013-08-06 14:47 by 夏洛克·福尔摩斯, 281 阅读, 0 推荐, 收藏, 编辑
摘要:#include#includeint main(){ short a=htons(0x0102); short *p=&a; if(*((char *)p)==0x01) printf("big-endian\n"); else if(*((char *)p)==0x02) printf("little-endian\n"); else printf("un... 阅读全文

在linux下通过hexdump生成一个十六进制的文本保存文件,解析此文件转变成正常源代码文件。

2013-08-05 11:19 by 夏洛克·福尔摩斯, 2658 阅读, 0 推荐, 收藏, 编辑
摘要:举例说明:此十六进制保存的文件为此源代码hexdump生成的:#include#include#include#includedtob(int a);int main(int argc,char **argv){ FILE *fp; int a; if((fp=fopen("1.c","r"))==NULL) { printf("open error\n"); } while((a=getc(fp))!=-1) { dtob(a); ... 阅读全文

从文本中读取内容并把读取到的内容转化成二进制保存的形式(包含十进制数如何转换成二进制数dtob函数)

2013-08-02 17:09 by 夏洛克·福尔摩斯, 625 阅读, 0 推荐, 收藏, 编辑
摘要:#include#include#include#includedtob(int a);int main(int argc,char **argv){ FILE *fp; int a; if((fp=fopen("1.c","r"))==NULL) { printf("open error\n"); } while((a=getc(fp))!=-1) { dtob(a); } printf("\n"); return 0;}dtob(int a){ int i=0; int *p; p=(... 阅读全文

shell(sed/gawk)脚本(计算目录文件/验证电话号码/解析电子邮件地址)

2013-08-01 10:18 by 夏洛克·福尔摩斯, 1509 阅读, 0 推荐, 收藏, 编辑
摘要:1、计算目录文件#!/bin/bashmypath=`echo $PATH | sed 's/:/ /g'`#注意` ` 和 ‘ ’count=0for directory in $mypathdo check=`ls $directory` for item in $check do count=$[ $count + 1 ]#注意空格 done echo "$directory -$count" count=0done2、验证电话号码显示电话号码有以下几种常用的方法:(123)456-7890(123) 456-789012... 阅读全文

shell脚本命令,一些你在书上找不到的命令。

2013-07-30 15:58 by 夏洛克·福尔摩斯, 815 阅读, 0 推荐, 收藏, 编辑
摘要:1、!$ .’热建alt+. 或 esc+. 可以把上次命令行的参数给重复出来。5、^old^new替换前一条命令里的部分字符串。场景:echo "wanderful",其实是想输出echo "wonderful"。只需要^a^o就行了,对很长的命令的错误拼写有很大的帮助。(陈皓注:也可以使用 !!:gs/old/new)6、du -s * | sort -n | tail列出当前目录里最大的10个文件。7、:w !sudo tee %在vi中保存一个只有root可以写的文件8、date -d@1234567890时间截转时间9、> file.tx 阅读全文

利用Vim提供的正则去掉代码每行开头不想要的行号以及vi常见问题和应用技巧

2013-07-29 11:42 by 夏洛克·福尔摩斯, 1162 阅读, 0 推荐, 收藏, 编辑
摘要:看到一不错的代码片断,但奈何无论怎么拷贝,粘贴到VS里都是带行号的,300多行的代码手工删除行号与前面的空格可得耗不少时间。。。这时想起了无所不能的VIM,以及它的正则,它的替换功能。解决步骤:1.将代码贴到VIM2.替换掉每行首的所有空格及数字VIM底行模式下:1,$s/^\s*[0-9]*\s*//g解释:1为起始行号,315为终止行号,^在正则中代表行首,\s*代表若干个空格,可以没有,[0-9]*代表若干个数字,可以没有,即将^\s*[0-9]*\s*替换为NOTHING。或者: :%s/^...//g1) 在一个新文件中读/etc/passwd中的内容,取出用户名部分 vi fil. 阅读全文

创建或者连接管道+++检查管道空间是否够写入本消息++++删除管道

2013-07-25 12:03 by 夏洛克·福尔摩斯, 241 阅读, 0 推荐, 收藏, 编辑
摘要:/**函数名:nFIFOOpen功能 :创建或者连接管道参数 : nFIFOKey 关键字返回值: -1 失败 >0的数 管道描述符号注意: 管道实现忽略size参数**/ int nFIFOOpen(int nFIFOKey){ if(nFIFOKey <= 0) { return -1; } int fd; int iRc; struct stat st; char sFifoName[128]; /****MSGIN FIFO ****/ memset... 阅读全文

从instr中截取第一个delimiter之前的内容放到outstr中,返回第一个delimiter之后的位置

2013-07-25 10:53 by 夏洛克·福尔摩斯, 324 阅读, 0 推荐, 收藏, 编辑
摘要:从instr中截取第一个delimiter之前的内容放到outstr中,返回第一个delimiter之后的位置char *msstrtok(char *instr, char *outstr, char *delimiter){ char *tmpstr; if(memcmp(instr, delimiter, strlen(instr))==0){ return(NULL); } if(instr==NULL || strlen(instr)==0){return(NULL);} tmpstr=strstr(instr,delimiter); if(tmpstr!=NULL... 阅读全文

把数字按网络顺序或主机顺序存放到字符串中++++把字符串按网络顺序转换成数字++++把字符串按主机顺序转换成数字

2013-07-25 10:37 by 夏洛克·福尔摩斯, 325 阅读, 0 推荐, 收藏, 编辑
摘要:/****把数字按网络顺序放到字符串中****/int nNumToNet(int num,char *buf,int len){ int ret_int; short ret_short; if(sizeof(int)!=4 || sizeof(short)!=2){ printf("本程序不能在低于32位的机器上运行!\n"); exit(1); } if(len==2){ ret_short=(short)num; ret_short=htons(ret_short); memcpy... 阅读全文

压缩空格的函数以及BCD码与ASCII相互转换函数

2013-07-24 17:08 by 夏洛克·福尔摩斯, 631 阅读, 0 推荐, 收藏, 编辑
摘要:/**函数名:zip_space功能 :压缩空格的函数参数 : s 源字符串返回值: 0 成功**/int zip_space(char *s){ int i,j; int len; if(s==NULL || strlen(s)==0) { return -1; } len=strlen(s); i=j=0; while(s[i]!='\0'){ if(s[i]!=' '){ if(i!=j){ s[j]=... 阅读全文

判断文件是否存在

2013-07-24 16:54 by 夏洛克·福尔摩斯, 391 阅读, 0 推荐, 收藏, 编辑
摘要:/**函数名:IsFileExits功能 :判断文件是否存在 pcFileName 文件名称返回值: 0 不存在 1 存在**/int IsFileExits(char *pcFileName){ struct stat tFileStat; if(stat(pcFileName,&tFileStat)<0){ /***文件不存在****/ return(0); }else{ if((tFileStat.st_mode & S_IFMT ) != S_IFREG ){ /***文件不可读****/ ... 阅读全文

把指定长度字符串转换成数字

2013-07-24 16:50 by 夏洛克·福尔摩斯, 1499 阅读, 0 推荐, 收藏, 编辑
摘要:/**函数名:apatoi功能 :把指定长度字符串转换成数字参数 : s 数字字符串 len 长度返回值: 转换后的数字**/int apatoi(char *s,int len){ int i; int weight=1; int n; int sum; if((s[0]>'9' ||s[0]=0;i--){ if(s[i]>'9'||s[i]<'0'){ n=0; }else{ n=s[i]-'... 阅读全文

找到特定串在源字符串中的位置

2013-07-24 16:44 by 夏洛克·福尔摩斯, 295 阅读, 0 推荐, 收藏, 编辑
摘要:/************************************************* 函 数 名: find_str* 函数功能:* 找到特定串在源字符串中的位置* 作 者: sunlian* 完成时间: 2009年8月30日** 参 数:* 输 入:* src 源字符串* mode 需要查找的子字符串* 输 出:* -2 异常,失败* -1 没有找到* >0 子串在目标串中的起始... 阅读全文

FTP命令详解

2013-07-22 13:44 by 夏洛克·福尔摩斯, 532 阅读, 0 推荐, 收藏, 编辑
摘要:FTP命令详解 FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。 FTP的命令行格式为:ftp -v -d -i -n -g [主机名],其中 -v显示远程服务器的所有响应信息; -n限制ftp的自动登录,即不使用; .n etrc文件; -d使用调试方式; -g取消全局文件名。 ftp使用的内部命令如下(中括号表示可选项): 1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*... 阅读全文

如何蹭网

2013-06-13 20:16 by 夏洛克·福尔摩斯, 800 阅读, 0 推荐, 收藏, 编辑
摘要:引言蹭网,在普通人的眼里,是一种很高深的技术活,总觉得肯定很难,肯定很难搞。还没开始学,就已经败给了自己的心里,其实,蹭网太过于简单。我可以毫不夸张的说,只要你会windows的基本操作,学会蹭网完全不是梦!基本知识在蹭网之前,我们也普及一下基础知识!无线网卡和无线上网卡别看只多了一个字,其实这是两种完全不同的概念。无线网卡是指可以连接无线网络的一种网卡,网卡分为有线和无线两种类型(目前我所知道的),就是我们通常说的连接wi-fi,就是通过无线网卡来连接的。一般笔记本都会自带有无线网卡。比如我的笔记本自带的就有。这种无线网卡,是笔记本内置的。还有一种无线网卡,是USB接口的,当然,可以接到任何 阅读全文

IP地址的存储格式

2013-05-24 11:59 by 夏洛克·福尔摩斯, 2076 阅读, 0 推荐, 收藏, 编辑
摘要:今天看程序的时候,发现IPv4的地址以一个很奇怪的无符号整型数字存储,极其不直观。于是觉得很奇怪,考虑这样存储的原因及改进方式。为什么不直接按照4个字节存储呢?我考虑到的方式有两种:1.以数组的方式存储,IPv4地址的4个字节分别是这个含有4个元素的数组的元素之一。2.以结构体的方式存储,IPv4地址的4个字节分别是此结构体的4个1字节成员之一。这两种方式其实是一样的。那么这就要求我们拿到的是192.168.1.108这样的IP地址,我们通过strtok这样的函数依次取出这4个字节并存储起来。这种做法的好处是:直观。坏处是:需要做依次取出这4个字节的动作,并且不够通用,在某些使用需求,如IP地 阅读全文

liunx 一些面试笔试题目(转载)

2013-05-22 13:51 by 夏洛克·福尔摩斯, 395 阅读, 0 推荐, 收藏, 编辑
摘要:1、Linux挂载Winodws共享文件夹2、查看http的并发请求数及其TCP连接状态:3、用tcpdump嗅探80端口的访问看看谁最高4、统计/var/log/下文件个数5、查看当前系统每IP连接数6、shell下32位随机密码生成7、统计出apache的access.log中访问量最多的5个IP8、如何查看二进制文件的内容9、ps aux 中VSZ代表什么意思 RSS代表什么10、检测并修复/dev/hda511、Linux开机启动顺序12、符号链接和硬链接的区别13、保存当前磁盘分区的分区表15、手动安装grub16、改内核参数17、在1-39内取随机数18、限定apache每秒钟连接 阅读全文

几个常用的Linux操作系统监控脚本

2013-05-21 10:59 by 夏洛克·福尔摩斯, 280 阅读, 0 推荐, 收藏, 编辑
摘要:为大家提供五个常用Linux监控脚本(查看主机网卡流量、系统状况监控、监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告、监控CPU和内存的使用情况、全方位监控主机),有需要的朋友不妨看看哦1、查看主机网卡流量#!/bin/bash#network#Mike.Xuwhile : ; dotime='date +%m"-"%d" "%k":"%M'day='date +%m"-"%d'rx_before='ifconfig eth0|sed -n "8& 阅读全文

linux 线程相关介绍

2013-05-21 09:01 by 夏洛克·福尔摩斯, 300 阅读, 0 推荐, 收藏, 编辑
摘要:1.线程的概念我们知道,进程在各自独立的地址空间中运行,进程之间共享数据需要用mmap或者进程间通信机制,本节我们学习如何在一个进程的地址空间中执行多个线程。有些情况需要在一个进程中同时执行多个控制流程,这时候线程就派上了用场,比如实现一个图形界面的下载软件,一方面需要和用户交互,等待和处理用户的鼠标键盘事件,另一方面又需要同时下载多个文件,等待和处理从多个网络主机发来的数据,这些任务都需要一个“等待-处理”的循环,可以用多线程实现,一个线程专门负责与用户交互,另外几个线程每个线程负责和一个网络主机通信。以前我们讲过,main函数和信号处理函数是同一个进程地址空间中的多个控制流程,多线程也是如 阅读全文

linux 进程相关介绍

2013-05-21 08:59 by 夏洛克·福尔摩斯, 281 阅读, 0 推荐, 收藏, 编辑
摘要:我们知道,每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体。现在我们全面了解一下其中都有哪些信息。进程id。系统中每个进程有唯一的id,在C语言中用pid_t类型表示,其实就是一个非负整数。进程的状态,有运行、挂起、停止、僵尸等状态。进程切换时需要保存和恢复的一些CPU寄存器。描述虚拟地址空间的信息。描述控制终端的信息。当前工作目录(CurrentWorkingDirectory)。·umask掩码。文件描述符表,包含很多指向file结构体的指针。和信号相关的信息。用户id和组id。控制终端、Session和进 阅读全文

linux 管道编程

2013-05-21 08:57 by 夏洛克·福尔摩斯, 215 阅读, 0 推荐, 收藏, 编辑
摘要://fifo_read.c#include<sys/types.h>#include<sys/stat.h>#include<errno.h>#include<fcntl.h>#include<stdio.h>#include<stdlib.h>#define FIFO_SERVER "/tmp/myfifo"main(int argc,char **argv){int fd;char w_buf[100];int nwrite;fd=open(FIFO_SERVER,O_WRONLY|O_NONBLO 阅读全文

Makefile

2013-05-21 08:53 by 夏洛克·福尔摩斯, 189 阅读, 0 推荐, 收藏, 编辑
摘要:跟我一起写 Makefile陈皓 (CSDN)概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别 阅读全文

ARM大小端解释

2013-05-21 08:51 by 夏洛克·福尔摩斯, 370 阅读, 0 推荐, 收藏, 编辑
摘要:大小端模式指的是数据在地址空间中的存放方式。小端模式下,高位数据在高地址存放,低位数据在地地址存放;大端模式则相反,高位数据在地地址存放,低位数据在高地址存放。 阅读全文

SHELL编程脚本笔记

2013-05-21 08:50 by 夏洛克·福尔摩斯, 416 阅读, 0 推荐, 收藏, 编辑
摘要:利用特殊文件/dev/null(只写文件),清空apache2日志文件(文件大小变成0,但文件仍然存在). 当apache2的日志文件很大时,利用这条Script脚本定时清空日志文件,把清除指令写入clearlog.shècp /dev/null /var/log/apache2/access.log 。要其定期执行采用下列命令: chmod +x /root/clearlog.sh crontab –u root –e 在VI 中填入: 0 6 * * * /root/clearlog.sh ,这样每天清晨六点自动执行clearlog.sh,自动清理log文件。Bash Shell 阅读全文

GCC和GDB

2013-05-21 08:49 by 夏洛克·福尔摩斯, 223 阅读, 0 推荐, 收藏, 编辑
摘要:GDB:GDB: 1.编译生成可执行文件: gcc -g tst.c -o tst 2.启动GDB :gdb tst 3. 在main 函数处设置断点: break main 在哪一行设置断点: break n 在指定文件的哪一行设置断点: break file:n 4. 运行程序 : run 5.单步运行: next(不进入子函数) 单步执行: step (进入子函数) 6.继续执行: continue=>c 7.退出: quitinfo break 查看所有设置的断点delete 断点编号 删除断点run 开始运行程序print(p)变量名 :查看指定的变量值finish ... 阅读全文

tar命令

2013-05-21 08:48 by 夏洛克·福尔摩斯, 280 阅读, 0 推荐, 收藏, 编辑
摘要:tar是Linux环境下最常用的备份工具之一。tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件。tar可用于建立、还原、查看、管理文件,也可方便的追加新文件到备份文件中,或仅更新部分的备份文件,以及解压、删除指定的文件。熟悉其常用参数,能方便日常的系统管理工作。一、版本还是那句,不同的操作系统,tar的命令参数是有点区别的:引用# tar --versiontar (GNU tar) 1.14二、简单操作命令格式:tar [options] [tarfile] [other-files]tar--long-option -func 阅读全文

函数参数的传递问题-指针和内存

2013-05-21 08:47 by 夏洛克·福尔摩斯, 256 阅读, 0 推荐, 收藏, 编辑
摘要:程序1:void myMalloc(char *s) //我想在函数中分配内存,再返回{s=(char *) malloc(100);}void main(){char *p=NULL;myMalloc(p); //这里的p实际还是NULL,p的值没有改变,为什么?if(p) free(p);}程序2:void myMalloc(char **s){*s=(char *) malloc(100);}void main(){char *p=NULL;myMalloc(&p); //这里的p可以得到正确的值了if(p) free(p);}程序3:#include<stdio.h> 阅读全文

C语言键盘扫描码

2013-05-21 08:46 by 夏洛克·福尔摩斯, 676 阅读, 0 推荐, 收藏, 编辑
摘要:以下附部分键盘扫描码:这里罗列了键盘上各键的扫描码,还有ALT、CTR、SHIFT与部分键的组合扫描码。这对于编写需要键盘处理的程序应该有所帮助! /************键盘上各键的扫描码以及组合键的扫描码***************/ #define KEY_L1 0x4F /*小写键盘上的键*/ #define KEY_L2 0x50 #define KEY_L3 0x51 #define KEY_L4 0x4B #define KEY_L6 0x4D #define KEY_L7 0x47 #define KEY_L8 ... 阅读全文

ASCII表

2013-05-21 08:45 by 夏洛克·福尔摩斯, 221 阅读, 0 推荐, 收藏, 编辑
摘要:ASCII码表完整版ASCII值控制字符ASCII值控制字符ASCII值控制字符ASCII值控制字符0NUT32(space)64@96、1SOH33!65A97a2STX34”66B98b3ETX35#67C99c4EOT36$68D100d5ENQ37%69E101e6ACK38&70F102f7BEL39,71G103g8BS40(72H104h9HT41)73I105i10LF42*74J106j11VT43+75K107k12FF44,76L108l13CR45-77M109m14SO46.78N110n15SI47/79O111o16DLE48080P112p17DCI49 阅读全文

sys.stat.h的作用+sys.types

2013-05-21 08:44 by 夏洛克·福尔摩斯, 824 阅读, 0 推荐, 收藏, 编辑
摘要:#include <sys/stat.h>的作用2011-11-25 20:29转载自 w_dalu最终编辑 w_dalu#include <sys/stat.h>文件状态,是unix/linux系统定义文件状态所在的伪标准头文件。含有类型与函数: dev_t st_dev Device ID of device containing file. ino_t st_ino File serial number. mode_t st_mode Mode of file (see below). nlink_t st_nlink Number of hard links t 阅读全文