易截截图软件、单文件、免安装、纯绿色、仅160KB

C字符串处理函数的实现(Linux)

C字符串处理函数的实现(Linux)
#include <stddef.h>
char * ___strtok = NULL;

char * strcpy(char * dest,const char *src)
{
char *tmp = dest;

while ((*dest++ = *src++) != '\0')
/* nothing */;
return tmp;
}

char * strncpy(char * dest,const char *src,size_t count)
{
char *tmp = dest;

while (count-- && (*dest++ = *src++) != '\0')
/* nothing */;

return tmp;
}

char * strcat(char * dest, const char * src)
{
char *tmp = dest;

while (*dest)
dest++;
while ((*dest++ = *src++) != '\0')
;
return tmp;
}

char * strncat(char *dest, const char *src, size_t count)
{
char *tmp = dest;
if (count) {
while (*dest)
dest++;
while ((*dest++ = *src++)) {
if (--count == 0)
break;
}
}

return tmp;
}
int strcmp(const char * cs,const char * ct)
{
register signed char __res;

while (1) {
if ((__res = *cs - *ct++) != 0 || !*cs++) /*is !*cs++ necessary? incase more cmp*/
break;
}

return __res;
}

int strncmp(const char * cs,const char * ct,size_t count)
{
register signed char __res = 0;

while (count) {
if ((__res = *cs - *ct++) != 0 || !*cs++)
break;
count--;
}

return __res;
}

char * strchr(const char * s,char c)
{
for(; *s != c; ++s)
if (*s == '\0')
return NULL;
return (char *) s;
}

size_t strlen(const char * s)
{
const char *sc;

for (sc = s; *sc != '\0'; ++sc)
/* nothing */;
return sc - s;
}

size_t strnlen(const char * s, size_t count)
{
const char *sc;

for (sc = s; *sc != '\0' && count--;


相关文档:

实战Linux Bluetooth编程(三) HCI层编程

1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI)  就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......

用C写的3D迷宫

          Boss说,要看OpenGL,看了快一个月,总算出了个像样的东西,用C写了个3D迷宫,
虽然只有350行
       代码,不过边学边写,足足写了一周时间,还是小有成就感的,活活活!
         &n ......

linux实用命令收集

进程篇
查看某进程端口号
netstat -anp | grep 80
lsof -i :port
例:  注意":"后,紧跟端口号,没有空格
#lsof -i :443
COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME
java    2731 root   35u  IPv6   7778       TCP *:https (LI ......

linux 0.11 内核学习 asm.s,机器难免出故障。


/*
 *  linux/kernel/asm.s
 *
 *  (C) 1991  Linus Torvalds
 */
/*
 * asm.s contains the low-level code for most hardware faults.
 * page_exception is handled by the mm, so that isn't here. This
 * file also handles (hopefully) fpu-exceptions ......

linux 0.11 内核学习 sched.c,调度进程。


/*
 * 2010-1-21
 * 该文件时内核中有关任务调度的函数程序,其中包含基本函数sleep_on,
 * wakeup,schedule等,以及一些简单的系统调用。同时将软盘的几个操作
 * 函数也放置在这里。
 * 
 * schedule函数首先对所有的任务检查,唤醒任何一个已经得到信号的任务,
 * ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号