char

简单实现ReplaceAll(转)

久未见 提交于 2020-02-29 11:32:52
int GetFindStrCount(char* src, char* find) { int count = 0; char* position =src; int findLen = strlen(find); while((position = strstr(position, find)) != NULL) { count++; position = position + findLen; } return count; } /************************************************************************/ /* @param src 要替换的字符串 /* @param des 替换后的字符串存放 /* @param find 所要替换的字符串 /* @param replaceWith 要替换的字符串 /************************************************************************/ char* ReplaceAll(char* src,char *des, char* find, char* replaceWith) { //如果find或者replace为null,则返回和src一样的字符串。 if(find == NULL ||

源码阅读笔记:webbench-1.5

我们两清 提交于 2020-02-29 08:19:49
WebBench是个比较简单的程序,只有两个源文件:webbench.c, socket.c。 对源码重新排版一下,方便阅读: /* * (C) Radim Kolar 1997-2004 * This is free software, see GNU Public License version 2 for * details. * * Simple forking WWW Server benchmark: * * Usage: * webbench --help * * Return codes: * 0 - sucess * 1 - benchmark failed (server is not on-line) * 2 - bad param * 3 - internal error, fork failed * */ #include "socket.c" #include <unistd.h> #include <sys/param.h> #include <rpc/types.h> #include <getopt.h> #include <strings.h> #include <time.h> #include <signal.h> /* * 超时标记,当被设置为 1 时,所有子进程退出 * volatile: * - 让系统总是从内存读取数据, * -

C++字符类型总结区别wchar_t,char,WCHAR

℡╲_俬逩灬. 提交于 2020-02-29 07:48:40
转至:http://www.360doc.com/content/12/0807/01/9290626_228750141.shtml 1.区别wchar_t,char,WCHAR   ANSI:即 char,可用字符串处理函数:strcat( ),strcpy( ), strlen( )等以str打头的函数。   UNICODE:wchar_t是Unicode字符的数据类型,它实际定义在里:   typedef unsigned short wchar_t;   另外,在头文件中有这样的定义:typedef wchar_t WCHAR; 所以WCHAR实际就是wchar_t   wchar_t 可用字符串处理函数:wcscat(),wcscpy(),wcslen()等以wcs打头的函数。为了让编译器识别Unicode字符串,必须以在前面加一个“L”,例如: wchar_t *szTest=L"This is a Unicode string."; 2.TCHAR   在C语言里面提供了 _UNICODE宏(有下划线),在Windows里面提供了UNICODE宏(无下划线),只要定了_UNICODE宏和UNICODE宏,系统就会自 动切换到UNICODE版本,否则,系统按照ANSI的方式进行编译和运行。只定义了宏并不能实现自动的转换,他还需要一系列的字符定义支持。 1. TCHAR

【数据库】数据库的增删改查操作

给你一囗甜甜゛ 提交于 2020-02-29 07:42:18
注意的几点:1.如果你在cmd中书命令的时候,输入错了就用\c跳出 2.\s查看配置信息 一、操作文件夹(库) 增:create database db1 charset utf8; 删:drop database db1; 改:alter database db1 charset gbk; 查:show databases; #查看所有的数据库 show create database db1; #查看db1数据库 二、操作文件(表) 切换到文件夹下:use db1 增:create table t1(id int,name char(10)) engine=innodb; 删:drop table t1; 改:alter table t1 add age int; alter table t1 modify name char(12); 查:show tables; #查看所有表 show create table t1; #查看t1表 desc t1;#查看表结构 show create table t1\G; #查看表详细结构,可加\G select * from t1; #查看所有的表数据 三、操作文件的一行行内容(记录) 增:insert into db1.t1 values(1,'haiyan'),(2,'yaling'),(3,'xiaoxiao');

unsigned 和 signed 的区别

扶醉桌前 提交于 2020-02-29 02:58:28
--来自百度 整型的每一种都分为:无符号(unsigned)和有符号(signed)两种类型(float和double总是带符号的),在除char以外的数据类型中,默认情况下声明的整型变量都是有符号的类型;char在默认情况下总是无符号的。在除char以外的数据类型中,如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的正整数数据,比如16位系统中一个short能存储的数据的范围为-32768~32767,而unsigned能存储的数据范围则是0~65535。由于在计算机中,整数是以补码形式存放的。根据最高位的不同,如果是1,有符号数的话就是负数;如果是无符号数,则都解释为正数。另外,unsigned若省略后一个关键字,大多数编译器都会认为是unsigned int。 C语言中的 unsigned int 和 signed int 类型的区别,最大的区别就是最高位是否用来做符号位。 但是char类型怎么可能还区分正字符和负字符呢? C语言中并没有专门用来表示字符的数据类型,char 像 int、short 类型一样,也是一种整型,只不过,char 类型是最短的整型而已,所以它当然可以有 signed 和 unsigned 两种类型。 的确,char 是 character 的缩写,很多时候我们会把 char

JDK1.8源码阅读记录lang包AbstractStringBuilder类

时光总嘲笑我的痴心妄想 提交于 2020-02-29 02:57:56
JDK1.8源码阅读记录 JAVA.LANG包 AbstractStringBuilder类 abstract class AbstractStringBuilder implements Appendable , CharSequence Appendable顾名思义,是append()的象征,CharSequence字符序列,有length()、charAt(int index)、subSequence(int start, int end)等常用方法。 变量 /** * 存储字符 */ char [ ] value ; /** * 表示已用字符的长度 */ int count ; 构造方法 /** * 无参构造 */ AbstractStringBuilder ( ) { } /** * 初始化容量 */ AbstractStringBuilder ( int capacity ) { value = new char [ capacity ] ; } 常用方法 /* * 返回已用字符的长度,count */ public int length ( ) { return count ; } /* * 返回value数据可容纳的字符数目,value.length,即容量 */ public int capacity ( ) { return value . length ; }

读入读出挂

自作多情 提交于 2020-02-28 23:25:08
IO读入挂 namespace IO { const int MX = 4e7; //1e7占用内存11000kb char buf[MX]; int c, sz; void begin() { c = 0; sz = fread(buf, 1, MX, stdin); } inline bool read(int &t) { while(c < sz && buf[c] != '-' && (buf[c] < '0' || buf[c] > '9')) c++; if(c >= sz) return false; bool flag = 0; if(buf[c] == '-') flag = 1, c++; for(t = 0; c < sz && '0' <= buf[c] && buf[c] <= '9'; c++) t = t * 10 + buf[c] - '0'; if(flag) t = -t; return true; } } 超快读入挂 const int BufferSize=1<<16; char buffer[BufferSize],*head,*tail; inline char Getchar() { if(head==tail) { int l=fread(buffer,1,BufferSize,stdin); tail=(head=buffer)+l

结构

廉价感情. 提交于 2020-02-28 22:26:56
结构由**数目固定**的成员(又称域、项目、或元素)构成,**是由不同数据类型的数据组成的集合体**,各个成员可以具有**不同的数据类型**,包括基本类型和非基本类型。*一个结构变量在内存占有一片连续的存储空间,具有结构类型的特征。* 1 .定义结构 结构类型是用户自定义的; (1)定义结构类型的说明语句形式; struct 标识符 { 类型 成员1; 类型 成员2; … 类型 成员n; };( 注意分号 ) 例: struct person { char name[10]; long code; double salary; }; (2)声明变量的方法 1.声明类型的同时声明变量 struct person { char name[10]; long code; double salary; } worker1,worker2,*emp; 2. 声明类型后声明变量 (灵活) struct person { char name[10]; long code; double salary; } ; person worker1,worker2,*enp; 说明变量的同时可以进行初始化 person worker={“Li",123456,3000.53} 3.直接声明结构类型变量(此时无结构类型标识符) struct { char name[10]; long code;

MySQL开发规范中必须禁用char()

最后都变了- 提交于 2020-02-28 20:36:33
一、说明 channel渠道号到底应该怎么选择数据类型,两个选择,一个是char(),另一个是varchar()。在系统里看到用什么的都有,没有任何规律,实在没办法了没辙了需要制定一个规范,禁用char()。 二、原因 1、char扩展会导致表锁,会影响业务。 2、varchar扩展在255之内不会重建表,也不会产生锁表,不影响业务。 3、尤其是类似channel(3)渠道号这种一定要用varchar数据类型。 来源: 51CTO 作者: roidba 链接: https://blog.51cto.com/roidba/2474358