- 博客(9)
- 资源 (14)
- 问答 (1)
- 收藏
- 关注
原创 仰视源码,实现strstr和find
字符串查找两种情况,查找返回子字符串的指针位置和在字符串中的位置。strstr和find的实现是基于源码来实现的,然而字符串匹配方法依然可以用在字符串查找上,字符串匹配方法很多,但是源码却采用这种最为直观的方式来实现,是它的一个权衡。比起我们的暴力查找,它还是很高效的,所以,学习学习。1.查找字符串src中的子串,若成功返回子串在src中的起始指针。const char* strstr
2015-06-28 10:44:30 949
原创 仰视源,实现strcat
实现库函数strcat字符串的连接,给出核心代码,至于安全性,就不考虑了。char* strcat(char* dest, const char* src){ char* crtn = dest; while(*dest++); dest--; while((*dest++ = *src++) != '\0'); return crtn;}还有更简单的做法吗?
2015-06-28 10:31:47 574
原创 仰视源码,实现strcmp
//这是系统库的实现int strcmp(const char* src, const char* dest){ int rtn = 0; while(!(rtn = *(unsigned char*)src - *(unsigned char*)dest) && *dest) { ++src; ++dest; } if (rtn < 0) { rtn = -1;
2015-06-27 10:37:34 719
原创 仰视源码,实现strcpy
编程实现字符串的拷贝,不能用库函数。一般的初学者或许能写出来,但是要写的很完美那就需要基本功了。char* strcpy(char* strDest, const char* strSrc){ if (strDest == NULL || strSrc == NULL) { return NULL; } char* dest = strDest; while((*dest+
2015-06-27 10:17:18 659
原创 char* 类型使用总结
对于字符类型的指针真的有很多很多要注意的地方,而且他是String,CString等各种字符串相互转换的桥梁。使用上稍不注意就会出错。1.初始化char* pstr = "hello world.";这是一个指向字符串常量的指针,也就是说hello wrold.是不能被修改的。因为它存储在程序内存中的常量区。很多时候不注意就把pstr当做参数传递了。所以我们初始化需要改变的
2015-06-24 22:58:33 14640 3
原创 仰视源码,实现memcpy
C++实现内存的复制通常我们使用深复制就是通过内存复制实现的,但是对象的复制涉及到基类派生类及其相关类的问题,这里不讨论。目的为了能够明白内存复制的底层实现。void* memcpy(void* memTo, void* memFrom, size_t size){ assert(memTo != NULL && memFrom != NULL); char* temFrom =
2015-06-24 22:51:46 2072
原创 String、CString、char*、int、float、double相互转换
不同数据类型之间的转换可以说用得特别频繁,我也是经常查,索性就将其全部整理出来。一、String和int、float、double的转换 源代码StringAndNumberConvertor:-----------------------------1. Stringstream使用很简单,也很方便,个人比较喜欢的用法,直接上代码: template
2015-06-08 19:24:37 1100
原创 LeetCode之4Sum(经典)
题目:Given an array S of n integers, are there elements a,b,c, and d in S such that a+b+c+d = target?Find all unique quadruplets in the array which gives the sum of target.Note:• Elements in a q
2015-06-07 17:06:48 1007
原创 百度API调用实例
今天根据需求要从百度API中取出一些数据,这些操作包括:将坐标转换成百度坐标,根据转换的百度坐标进行特定的查询。有需求的收藏下,免得下次手写浪费时间。涉及到的操作有:JSON格式的字符解析,HTTP请求和获得请求数据,文件流的写入和读出等等。奉上源代码,共享:首先是入口函数:static void Main(string[] args) {
2015-06-05 21:34:12 6972
com.zend.verifier_11.0.2.v20140926-0202.jar
2014-11-12
俄罗斯方块
2014-07-26
C++编写的动态库,可不可以只有一个dll文件。
2015-05-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人