1.strstr()实现 原型:char * strstr(const char * str1, const char * str2) 说明:判断str2是否为str1的子串,如果是则返回str2第一次出现的位置,否则返回NULL 实现: char * strstr(const char * str1, const char * str2) { if (NULL == str1 || NULL == str2) return NULL; while (*str1++ != '\0') { ; *…
1.strcpy() 原型:char *strcpy(char *dst,const char *src) 功能:将以src为首地址的字符串复制到以dst为首地址的字符串,包括'\0'结束符,返回dst地址.要求:src和dst所指内存区域不可以重叠且dst必须有足够的空间来容纳src的字符串,若dst空间不足,编译时并不会报错,但执行时因系统不同会出现不同的结果:Mac系统提示“Abort trap:6”(Mac):CentOS7系统会正常运行(可能是个例,可以正常运行) 测试代码: #inc…
1.MySQL安装及简单设置 (1)安装:在OSX系统下,可以使用万能的“brew install”命令来进行安装:brew isntall mysql(默认安装最新版的MySQL) (2)启动:brew services start mysql (3)修改密码:update user set authentication_string = password('password'), password_expired = 'N', password_last_changed = now() wh…
一.Linux系统安装 系统安装可以分两类:实体机安装Linux,虚拟机(常用虚拟机软件有两种:VMware和VirtualBox)安装Linux. 安装过程网上有很多教程,这里就不赘述了. 二.常用命令 1.文件和目录 ls         列出目录内容 -l           列出文件详细信息l(list) -a          列出当前目录下所有文件及目录,包括隐藏的文件(以“‘.”开头的文件,例如.bashrc) -R 连同子目录中的内容一同列出 which 查看指定命令所在路径,例…
最近刚开始啃Unix网络编程(卷1:套接字联网API),为加深TCP连接的建立和终止的理解与记忆,记下本文,方便以后翻看. 同时留下的还有简单的Socket(TCP)类: mySocket.h #pragma once #include <unistd.h> #include <sys/socket.h> #include <arpa/inet.h> #include <strings.h> #include <errno.h> #include…
多线程计数,每个线程累加10个数. 实现: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <pthread.h> pthread_mutex_t num_lock; ; ; void* foo1() { #if 1 pthread_mutex_lock(&num_lock); ;i<;++i) { num…
C++是Bjarne Stroustrup博士于1982年,在C语言的基础上引入并扩充了面向对象的概念后发明的一种新的程序语言.就与C语言的渊源而言,C++可以说是C语言的超集,它兼容C的一切(可能是小可才疏学浅,并没有发现C可以但C++不可以的东西). C语言面向过程,侧重于算法和数据结构:C++作为一门面向对象的编程语言,具有面向对象编程的特性:封装(数据抽象).继承和多态(动态绑定).通过使用数据抽象,我们可以将类的接口与实现分离:使用继承,可以定义相似的类型并对其相似关系建模:使用动态绑…
bcmp(比较内存内容) 相关函数 bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp 表头文件 #include<string.h> 定义函数 int bcmp ( const void *s1,const void * s2,int n); 函数说明 bcmp()用来比较s1和s2所指的内存区间前n个字节,若参数n为0,则返回0. 返回值 若参数s1 和s2 所指的内存内容都完全相同则返回0 值,否则返回非零值. 附加说明 建议使用memc…
1.编写一个函数实现strlen以及strcpy函数. strcpy函数. 后面的字符串拷贝到一个字符数组中,要求拷贝好的字符串在字符数组的首 地址,并且只拷贝到'\0'的位置.原型是 char* my_strcpy(char* dest[],const char* src); #include <stdio.h> #include <assert.h> char* my_strcpy(char *dest,const char* src) { assert(dest != NUL…
#include <stdio.h> #include <assert.h> char *strcpy(char *strDest, const char *strScr) { char *address = strDest; assert((strDest != NULL) && (strScr != NULL)); while(*strScr) { *strDest++ = *strScr++; } *strDest = '\0'; return address…