面试中常常会要求写一些基本的库函数,尤其以字符串库函数考的最多,所以本文汇总了一些常见的字符串库函数的实现。此外,把与内存相关的操作函数也汇总到了一起。
//求字符串长度
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字符串函数汇总,将所有字符串类的函数整理汇总,方便自己,分享给大家,可直接关注我,第一篇博客就是该内容
java中字符串常用函数 看了就知道 很好用 速查
c的字符串函数汇总,较详细,包含实例 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例: #include <stdio.h> #include <string.h> int main...
本文给大家汇总介绍了常用的javascript字符串函数,分为自带函数和扩展函数2部分,希望大家能够喜欢。
在面试过程中面试官是不是老叫你写函数实现,给你这个万能的文档。
字符串处理函数的汇总资料,供初学者参考。
Visual Basic中的常用字符串函数 本文关键词: Visual Basic 字符串 函数 本文对Visual Basic中的常用字符串函数进行了汇总介绍,对于VB初学者来说还是非常有价值的。
Matlab字符串函数汇总 MATLAB GUI 图标 matlab里cell和char,字符串与字符数组 MATLAB 中断问题 MATLAB读写Excel MATLAB中的数据写入函数dlmwrite MATLAB中GUI设计领悟-SINA_隐藏 MATLAB GUI...
javascript字符串处理函数汇总.pdf
字符串处理函数和方法的汇总,以及一些注意思想
本文实例汇总了C++常用字符串分割方法,分享给大家供大家参考。具体分析如下: 我们在编程的时候经常会碰到字符串分割的问题,这里总结下,也方便我们以后查询使用。 一、用strtok函数进行字符串分割 原型: char *...
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...
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...
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...
Matlab字符串函数汇总 MATLAB GUI 图标 matlab里cell和char,字符串与字符数组 MATLAB 中断问题 MATLAB读写Excel MATLAB中的数据写入函数dlmwrite MATLAB中GUI设计领悟-SINA_隐藏 MATLAB GUI...