面试中常常会要求写一些基本的库函数,尤其以字符串库函数考的最多,所以本文汇总了一些常见的字符串库函数的实现。此外,把与内存相关的操作函数也汇总到了一起。
//求字符串长度
int strlen(const char *s) {
int n = 0;
while (*s++ != '\0')
n++;
return n;
}
//字符串拷贝,返回指针是为了实现链式操作,如strlen(strcpy(dst, src)),dst需要保证有足够空间
char *strcpy(char *dst, const char *src) {
assert(dst != NULL && src != NULL); //拷贝空串无意义
char *ret = dst;
while ((*dst++ = *src++) != '\0')
;
return ret;
}
//字符串比较,p>q则返回整数,p=q返回0,否则返回负数
int strcmp(const char *p, const char *q) {
while (*p && *p == *q)
p++, q++;
return (int) ((unsigned char) *p - (unsigned char) *q);
}
// 找到字符c在字符串s中首次出现的位置
char *strchr(const char *s, char c) {
for (; *s; s++)
if (*s == c)
return (char *) s;
return NULL;
}
//拼接字符串,注意这里dst需要保证有足够的空间
char *strcat(char *dst, const char *src) {
char *d = dst;
while (*d)
d++;
while ((*d = *src) != '\0')
;
return dst;
}
//设置内存位置v开始的n个元素值为c
void *memset(void *v, int c, size_t n) {
char *p = v;
int m = n;
while (--m >= 0) {
*p++ = c;
}
return v;
}
//内存拷贝,注意这里不考虑内存覆盖的情况
void *memcpy(void *dst, const void *src, size_t n) {
char *d = dst;
const char *s = src;
while (n--)
*d++ = *s++;
return dst;
}
//内存拷贝函数更健壮的版本,可以处理内存覆盖的情况
void *memmove(void *dst, const void *src, int n) {
char *d = dst;
const char *s = src;
if (s + n > d) {
s += n;
d += n;
while (--n >= 0)
*--d = *--s;
} else {
while (--n >= 0)
*d++ = *s++;
}
return dst;
}
分享到:
相关推荐
零散MATLAB资料分享-Matlab字符串函数汇总.pdf 最近在用MATLAB做一个项目,自然需要查很多东西,在网上搜集了一点资料,并非原创。本着分享的精神,希望能帮助到部分人。 包括以下内容 在MATLAB图形用户...
VBA提供了丰富的字符串函数以满足不同需求的文本操作,以下是一些基本的VBA字符串函数及其知识点: 1. Len(string)函数用于计算字符串string的长度,即字符串中字符的总数。 2. Trim(string)函数可以去除字符串两...
Java 中常用的字符串函数集锦 Java 中字符串是连串的字符,但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java 将字符串作为 String 类型对象来处理。将字符串作为内置的对象处理允许 Java 提供十分...
在面试过程中面试官是不是老叫你写函数实现,给你这个万能的文档。
本资料主要汇总了VB中的常用字符串处理函数,适用于初学者学习和参考。 1. **Left()** 函数:返回字符串的左部指定长度的部分。例如,`Left("Hello World", 3)` 返回 "Hel"。 2. **Right()** 函数:与Left()相反,...
本资料“Delphi字符串函数大全”汇总了这些功能强大的工具,旨在为Delphi程序员提供一个全面的参考。 1. **字符串类型与初始化** - `string`类型是Delphi中的基本数据类型,用于表示可变长度的Unicode字符串。例如...
在C++编程语言中,字符串处理是至关重要的一个部分,涉及到很多函数和方法。这篇总结主要涵盖C++中处理字符串的基本知识点,包括基本概念、常用函数、操作技巧以及一些编程思想。 1. **字符串基本概念** 在C++中,...
本文实例汇总了C++常用字符串分割方法,分享给大家供大家参考。具体分析如下: 我们在编程的时候经常会碰到字符串分割的问题,这里总结下,也方便我们以后查询使用。 一、用strtok函数进行字符串分割 原型: char *...
`STRING_AGG`函数允许我们以指定的分隔符连接一组字符串,这对于生成报告、汇总信息或构建复杂的查询非常有用。然而,在SQL Server 2014中,我们需要借助用户定义的聚合函数(User-Defined Aggregate, UDA)来达到...
字符串处理函数提供了丰富的功能,使得开发者能够轻松地对字符串进行各种操作。以下是对标题和描述中提及的JavaScript字符串处理函数的详细说明: 1. **concat()**:这个函数用于连接两个或多个字符串,创建一个新...
Matlab字符串函数汇总 MATLAB GUI 图标 matlab里cell和char,字符串与字符数组 MATLAB 中断问题 MATLAB读写Excel MATLAB中的数据写入函数dlmwrite MATLAB中GUI设计领悟-SINA_隐藏 MATLAB GUI...
Matlab字符串函数汇总 MATLAB GUI 图标 matlab里cell和char,字符串与字符数组 MATLAB 中断问题 MATLAB读写Excel MATLAB中的数据写入函数dlmwrite MATLAB中GUI设计领悟-SINA_隐藏 MATLAB GUI...
下面我们将详细探讨`find`、`join`、`replace`以及`split`这四个常用的字符串处理函数。 1. `find`函数: `find`函数用于在一个较长的字符串中查找子串的位置。它返回子串在原字符串中最左边的索引,如果未找到则...
### SQL字符串操作汇总知识点 #### 1. `STUFF` 函数 - **定义与功能**:`STUFF` 函数用于将一个字符串中的指定部分替换为另一个字符串。 - **语法**: ```sql STUFF(<源字符串>, <起始位置>, <长度>, <替换字符串...
本文汇总了ThinkPHP的字符串处理函数及其他一些常用函数,可供开发人员参考使用。详情如下: get_client_ip() 获取客户端的IP地址 msubstr($str, $start=0, $length, $charset=”utf-8″, $suffix=true) $str:要...