`

string.c

    博客分类:
  • c
 
阅读更多
void*
memset(void *dst, int c, uint n)
{
  if ((int)dst%4 == 0 && n%4 == 0){
    c &= 0xFF;
    stosl(dst, (c<<24)|(c<<16)|(c<<8)|c, n/4);
  } else
    stosb(dst, c, n);
  return dst;
}

int
memcmp(const void *v1, const void *v2, uint n)
{
  const uchar *s1, *s2;
  
  s1 = v1;
  s2 = v2;
  while(n-- > 0){
    if(*s1 != *s2)
      return *s1 - *s2;
    s1++, s2++;
  }

  return 0;
}

void*
memmove(void *dst, const void *src, uint n)
{
  const char *s;
  char *d;

  s = src;
  d = dst;
  if(s < d && s + n > d){
    s += n;
    d += n;
    while(n-- > 0)
      *--d = *--s;
  } else
    while(n-- > 0)
      *d++ = *s++;

  return dst;
}

// memcpy exists to placate GCC.  Use memmove.
void*
memcpy(void *dst, const void *src, uint n)
{
  return memmove(dst, src, n);
}

int
strncmp(const char *p, const char *q, uint n)
{
  while(n > 0 && *p && *p == *q)
    n--, p++, q++;
  if(n == 0)
    return 0;
  return (uchar)*p - (uchar)*q;
}

char*
strncpy(char *s, const char *t, int n)
{
  char *os;
  
  os = s;
  while(n-- > 0 && (*s++ = *t++) != 0)
    ;
  while(n-- > 0)
    *s++ = 0;
  return os;
}

// Like strncpy but guaranteed to NUL-terminate.
char*
safestrcpy(char *s, const char *t, int n)
{
  char *os;
  
  os = s;
  if(n <= 0)
    return os;
  while(--n > 0 && (*s++ = *t++) != 0)
    ;
  *s = 0;
  return os;
}

int
strlen(const char *s)
{
  int n;

  for(n = 0; s[n]; n++)
    ;
  return n;
}

 

分享到:
评论

相关推荐

    C语言头文件 STRING.H

    C语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING....

    305-字符串函数string.h应用举例(51单片机C语言实例Proteus仿真和代码)

    305-字符串函数string.h应用举例(51单片机C语言实例Proteus仿真和代码)305-字符串函数string.h应用举例(51单片机C语言实例Proteus仿真和代码)305-字符串函数string.h应用举例(51单片机C语言实例Proteus仿真和代码)...

    内核 string.c

    内核字符串比较源代码,Copyright (C) 1991, 1992 Linus Torvalds

    string.Format 的用法

    - 示例:`string.Format("{0:C},{1:C}", 23.15, 19.82)` 输出为 `$23.15,$19.82`。 - 特点:可以一次格式化多个数值,并且每个数值可以有不同的格式。 #### 三、数字格式化 除了货币格式外,`string.Format`还...

    c标准库中的 string.c / printf.c / vsprintf.c 文件

    `string.c`文件通常包含了C语言标准库中的字符串处理函数。这些函数对于处理和操作字符数组至关重要。以下是一些关键的字符串函数: 1. `strcpy()`:这个函数用于复制一个字符串到另一个字符串。它接受两个参数,源...

    String.XML转Excel的工具应用

    9. **自动化集成**:高级的开发团队可能会将这种工具集成到持续集成/持续部署(CI/CD)流程中,自动化处理字符串资源的更新和版本控制。 总之,"String.XML转Excel的工具"通过简化字符串资源的管理和编辑,极大地...

    String.h文件

    标准库 - &lt;string.h&gt; 简介 string .h 头文件定义了一个变量类型、一个宏和各种操作字符数组的函数。

    JAVA String.format方法使用介绍

    在JDK1.5中,String类增加了一个非常有用的静态函数format(String format, Objece... argues),可以将各类数据格式化为字符串并输出。其中format参数指定了输出的格式,是最复杂也是最难掌握的一点,而argues则是一...

    js写的string.format函数

    js 写的string format函数,功能模仿C#中的string.Format方法,已实现(整数 :D、小数:F、货币数字:C、科学计数:E 等4种)数字格式化。参数可以传递数组,也可以传多个参数。

    C语言 string.h 自己实现

    谭浩强的《C程序设计(第四版)》是一本经典的C语言教程,它深入浅出地讲解了C语言的基础知识,包括如何使用`string.h`中的函数。在你实现`string.h`中的部分函数后,你已经掌握了字符串处理的核心概念。现在,让...

    JAVA_String.format

    System.out.println(String.format("%c", 'A')); // 输出:A ``` ### 百分比符号格式化 百分比符号`%`在`String.format`中作为特殊格式的前缀,要输出百分比符号本身,需要使用两个连续的`%`进行转义。 ```java ...

    01串_String.c

    01串_String.c

    C#String.Format数字格式化输出 .txt

    Console.WriteLine(string.Format("{0:C}", a)); // 输出 "12,345,678.00" double b = 1234.12543; Console.WriteLine(b.ToString("C3")); // 输出 "1,234.125" ``` 2. **十进制整数格式(d)**:将数字格式...

    C#String.Format数字格式化

    // Label1.Text = string.Format("asdfadsf{0:C}adsfasdf", a); // 输出:asdfadsf1,234.00adsfasdf // Label2.Text = "asdfadsf" + a.ToString("C") + "adsfasdf"; // 输出:asdfadsf1,234.00adsfasdf // Label1....

    单片机C语言实例38:字符串函数string.h应用举例.txt

    单片机C语言实例38:字符串函数string.h应用举例.txt

    单片机C语言源码学习参考-字符串函数string.h应用举例.zip

    本资料包"单片机C语言源码学习参考-字符串函数string.h应用举例.zip"聚焦于C语言中的字符串处理,重点讲解了如何利用标准库`string.h`中的函数来操作和管理字符串。下面我们将深入探讨`string.h`库中的关键函数及其...

    string.h库文件

    *string.h - declarations for string manipulation functions * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * This file contains the function declarations for the string * ...

    C语言库函数源码(string.h)

    本资源"**C语言库函数源码(string.h)**"是一个宝贵的参考资料,包含了C标准库中`string.h`头文件下的多个库函数的源代码。了解这些源代码能帮助我们深入理解C语言的工作原理,优化自己的程序,并学习如何编写更...

    c语言-leetcode题解434-number-of-segments-in-a-string.c

    c语言入门 c语言_leetcode题解434-number-of-segments-in-a-string.c

    sql_string.rar_sqlstring.h_visual c

    在C++编程中,`sql_string.h`是一个头文件,通常用于处理与SQL相关的字符串操作。这个头文件可能包含了各种函数和类定义,方便开发者在C++程序中处理SQL语句。`sql_string.h`可能出自一个库,专门用于简化数据库操作...

Global site tag (gtag.js) - Google Analytics