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.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.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…
C++是Bjarne Stroustrup博士于1982年,在C语言的基础上引入并扩充了面向对象的概念后发明的一种新的程序语言.就与C语言的渊源而言,C++可以说是C语言的超集,它兼容C的一切(可能是小可才疏学浅,并没有发现C可以但C++不可以的东西). C语言面向过程,侧重于算法和数据结构:C++作为一门面向对象的编程语言,具有面向对象编程的特性:封装(数据抽象).继承和多态(动态绑定).通过使用数据抽象,我们可以将类的接口与实现分离:使用继承,可以定义相似的类型并对其相似关系建模:使用动态绑…
一.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…
strcpy函数和strncpy函数的原型介绍在我的另一篇文章中介绍了,见strcpy,strncpy,strlen等函数原型 strcpy:字串复制 原型:char *strcpy(char *dest, char *src); 功能:把src所指由'\0'结束的字符串复制到dest所指的数组中. 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串. 返回指向dest的指针. 注意:当src串长度>dest串长度时,程序仍会将整个src串复制到dest区…
转自:http://blog.chinaunix.net/uid-20797562-id-99311.html strcpy ,strncpy ,strlcpy的用法好多人已经知道利用strncpy替代strcpy来防止缓冲区越界.但是如果还要考虑运行效率的话,也许strlcpy是一个更好的方式.1. strcpy 我们知道,strcpy 是依据 \0 作为结束判断的,如果 to 的空间不够,则会引起 buffer overflow.strcpy 常规的实现代码如下(来自 OpenBSD 3.9…
strcpy和memcpy的区别 strcpy和memcpy都是标准C库函数,它们有下面的特点. strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符. 已知strcpy函数的原型是:char* strcpy(char* dest, const char* src); memcpy提供了一般内存的复制.即memcpy对于需要复制的内容没有限制,因此用途更广. void *memcpy( void *dest, const void…