C语言重写strncpy()、strcmp()、strchr()、atoi()函数
来源:互联网 发布:asp.net购物车源码 编辑:程序博客网 时间:2024/06/06 06:32
重写strncpy()函数
char* repeat_strncpy(char* s, int n){ int len = strlen(s); // 目标:拷贝s的n个字符出去 // 但是len可能比n小 // 此时,需要把n重新赋值为len int copyCount = len < n ? len : n; char* ptr = s; char* p = new char[copyCount+1]; // ver3 by wdz while (ptr - s < copyCount) // 利用指针偏移量进行循环; { *p++ = *ptr++; } *p = '\0'; return p - copyCount; // 注意指针偏移到数组末端,需要返回到起始位置再return;}
重写strcmp()函数,并返回目标字符串首地址
//若“at”在“hats”内,则返回"hats"中a的地址;const char* string_in(const char* s1, const char* s2){ if (!s1 || !s2) return NULL; const char* n = s1; // 下一个查找位置 while (*n) { // 先找到第一个相等的 const char* f = n; while (*f != *s2 && *f != '\0') { ++f; } if (*f == '\0') { // 到了结尾也没找到啊! return NULL; } else { // 可能就要找到了 // 先确定下一次查找的起始位置 n = f + 1; // 继续进行本次查找比较 // 看看能否完成全部匹配 const char* q = s2; while (*q) { if (*f != *q) { // a!失败了 // 继续查找下一个吧 break; } ++f; ++q; } if (!*q) { // 找到了! return n - 1; } } }}
重写strchr()函数
char* repeat_strchr(char* s, int c){ char* ptr = s; while (*ptr != '\0') { if (c == *ptr ) { return ptr; } ++ptr; } return NULL;}
重写atoi()函数
int repeat_atoi(char* s){ char* ptr = s; int i = 0, n = 0, sign = 1; for (i = 0; isspace(ptr[i]); i++) //跳过空白符; ; if (ptr[i] == '+' || ptr[i] == '-') //跳过符号 { sign = (ptr[i] == '-') ? -1 : 1; i++; } for (n = 0; isdigit(ptr[i]); i++) n = 10 * n + (ptr[i] - '0'); //将数字字符转换成整形数字 return sign * n;}
2 0
- C语言重写strncpy()、strcmp()、strchr()、atoi()函数
- c语言:strcpy、strncpy、 Strcat、 Strcmp 、strchr、 strstr、 Strlen等函数功能
- (C语言)自己写字符串操作函数(一)——strlen/strcpy/strcat/strcmp/strchr/strpbrk/strstr等相关函数
- C++字符串处理(重写)trcpy、strlen、strcat、strcmp、strlwr、strupr、strrev、strchr、strpbrk、strstr、strtok
- 字符串函数strchr,strrchr,strrstr,strncat()函数,strncpy()函数 ,strncmp()函数 ,
- 【C语言】模拟实现strncpy strncat strncmp strchr strrchr函数
- C 语言之strcmp()
- 从小函数看应聘者的编程素质(atoi, strcmp...)
- 基础函数的实现(strcpy,strcat, strcmp, atoi, itoa)
- 基础函数的实现(strcpy,strcat, strcmp, atoi, itoa)
- 基础函数的实现(strcpy,strcat, strcmp, atoi, itoa)
- C各类库函数的实现(atoi,strcpy,strcmp...)
- C语言 重写C语言库strchr字符串操作函数
- strcpy/strncpy/strcat/strcmp/strlen函数的c语言实现
- 字符串函数模拟实现(strcpy,strcat,strstr,strchr,strcmp,memcpy,memmove)
- C语言strcmp()函数:比较字符串(区分大小写)
- C语言strcmp()函数:比较字符串(区分大小写)
- C语言strcmp()函数:比较字符串(区分大小写)
- leetcode No35. Search Insert Position
- Git@OSC服务器和Xcode的git管理工具简单使用
- Spring IOC理解
- fscanf函数,从.txt中一次性读取指定数量的数据
- 第一篇博客
- C语言重写strncpy()、strcmp()、strchr()、atoi()函数
- Python伪装浏览器刷博客浏览量
- 各种流行深度学习构架的性能对比
- Java四种线程池的使用
- android studio ndk 环境搭建
- CSS3 渐变(Gradients)
- leetcode No36. Valid Sudoku
- hdu5360(优先队列)
- 一步一步演示神经网络回馈算法过程