<p style="margin-top: 0px; margin-bottom: 0px; font-size: 24px; font-family: Menlo; color: rgb(255, 255, 255);"><pre name="code" class="cpp">#include <stdio.h>
#include "MyString.h"
#include <stdlib.h>
/// 输出字符串
void putString(const char *src)
{
//printf("%s\n", src);
while (*src) {
printf("%c", *(src++));
}
printf("\n");
}
/// 计算字符串长度
unsigned long stringLength( const char *src)
{
unsigned long int length = 0;
while (*src++) {
length++;
}
return length;
}
/// 拷贝字符串
char *stringCopy(char *dest,const char *src)
{
char *p = dest;
while ((*p++ = *src++)) {
}
return dest;
}
///字符串拼接
char *stringCat(char *dest,const char *src)
{
stringCopy(dest + stringLength(dest), src);//目的地址指向不变 v 没有自加
return dest;
}
//字符串比较
int stringCompare( const char *s1,const char *s2)
{
int result = 0;
while (0 == (result = *s1 - *s2) && *s1) {
s1++;
s2++;
}
return result;
}
char * strCopy(const char *src)
{
char * dest = malloc(sizeof(char) * (stringLength(src) + 1));//堆如何使用
stringCopy(dest, src);
return dest;// 野指针 指针指向了一段释放的内存 全局静态是不可释放的
}
char *numberString(const char *src)
{
char *dest = malloc(sizeof(char) *(stringLength(src) + 1));
char *p = dest;
while (*src) {
if (*src >= '0' && *src <= '9') {
{
*p = *src;
p++;
}
}
src++;
}
*p = '\0';
return dest;
}
字符串函数
最新推荐文章于 2024-10-09 15:46:16 发布