/*基本算法实现*/Linux中string.h里几个函数的实现

string.h

extern int strcmp(const char*,const char*);
extern char* strcpy(char*,const char*);

string.c

int strcmp(const char *cs, const char *ct)
{
    unsigned char c1, c2;

    while (1) {
        c1 = *cs++;
        c2 = *ct++;
        if (c1 != c2)
            return c1 < c2 ? -1 : 1;
        if (!c1)
            break;
    }
    return 0;
}

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

    while ((*dest++ = *src++) != ‘\0‘)
        /* nothing */;
    return tmp;
}
时间: 2024-10-29 14:09:57

/*基本算法实现*/Linux中string.h里几个函数的实现的相关文章

掌握string.h里的常用函数

字符串输出函数 puts 格式:  puts(字符数组名) 功能:把字符数组中的字符串输出到显示器. 即在屏幕上显示该字符串. 字符串输入函数 gets 格式:  gets (字符数组名) 功能:从标准输入设备键盘上输入一个字符串. 本函数得到一个返回值,即为该字符数组的首地址. 1 #include"stdio.h" 2 main(){ 3 char st[15]; 4 printf("input string:\n"); 5 gets(st); 6 puts(s

linux 中的进程wait()函数

转载自:http://blog.sina.com.cn/s/blog_7776b9d3010144f9.html 在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将变成一个僵尸进程. 但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程, 因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程, 看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由Init 来接管他,成为他的父进程-- 一个进程在调用exit

转:在linux中vi 文件里行尾奇怪的^M及解决

Linux编辑器vim中删除行尾的^M 有时候,在 Linux 中使用打开曾在 Windows 中编辑过的文件时,会在行尾看到 ^M 字符.看起来总是感觉很别扭. 删除方法如下: 在 Vim 的命令模式中输入 :%s/^M$//g 后,回车即会自动删除该文件中的所有 ^M 字符. 注意: ^M 要用 Ctrl + v, Ctrl + m 来输入, 用键盘直接敲^和M是不行的! 后面的 $ 代表匹配行尾的内容,最后的 g 则表示每行中匹配到的内容都要置换--全局替换,否则只替换每行中匹配到的第一个

头文件string.h里的函数

.strcpy 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例: #include <stdio.h> #include <string.h> int main(void) { char string[10]; char *str1 = "abcdefghi"; stpcpy(string, str1); printf("%s\n"

linux中C语言获取高精度时钟gettimeofday函数

前言:    在开发中,很多时候需要知道各个函数或者是某些设备对命令的操作用时,因此需要用到 gettimeofday 来获取当前时钟. 一,函数说明 #include  int gettimeofday(struct timeval *tv, struct timezone *tz); 注意: 1.精确级别,微妙级别        2.受系统时间修改影响        3.返回的秒数是从1970年1月1日0时0分0秒开始 其参数tv是保存获取时间结果的结构体,参数tz用于保存时区结果: 结构体

Linux中挂载Windows里共享目录

将Windows里的F:\sadoc文件夹右键点击设置为共享目录,共享用户为administrator # yum -y install cifs-utils    #安装mount.cifs软件包 # mkdir /windows         #创建挂载目录windows # mount.cifs //10.0.0.1/sadoc /windows/ -o user=administrator,pass=linux  #pass=linux为Windows里administrator用户的

python errno 模块 与linux中errno.h中的值的对应关系

Linux/include/uapi/asm-generic/errno.h 1 #ifndef _ASM_GENERIC_ERRNO_H 2 #define _ASM_GENERIC_ERRNO_H 3 4 #include <asm-generic/errno-base.h> 5 6 #define EDEADLK 35 /* Resource deadlock would occur */ 7 #define ENAMETOOLONG 36 /* File name too long *

C中string.h

1. 函数名称:strcpy 函数原型: char *strcpy(char *destin, char *source); 函数功能: 将一个字符串复制到另一个字符串变量中 函数返回: 目标字符串的地址 参数说明: destin目标字符串的地址,source源字符串的地址 2. 函数名称:strncpy 函数原型: char *strcpy(char *dest,char *src,int n) 函数功能: 将src的n个字符负责到字符数组dest中 函数返回: 目标字符串的地址 参数说明: 

python中string模块各属性以及函数的用法

任何语言都离不开字符,那就会涉及对字符的操作,尤其是脚本语言更是频繁,不管是生产环境还是面试考验都要面对字符串的操作. python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串操作需求: python的字符串属性函数 python的string模块 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 字符串属性函数 系统版本:CentOS release 6.2 (Final)2.6.32