char函数

MySQL 中的数据类型介绍

无人久伴 提交于 2020-03-19 00:50:12
1、MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 2、数值类型(12) 2.1、整数类型(6) 一张图就能解释清楚了: INTEGER同INT。 2.2、定点数(2) DECIMAL和NUMERIC类型在MySQL中视为相同的类型。它们用于保存必须为确切精度的值。 使用方式如下: salary DECIMAL ( 5 , 2 ) 下面的介绍将基于上面这个例子。 我们看到其中有两个参数,即DECIMAL(M,D),其中M表示十进制数字总的个数,D表示小数点后面数字的位数,上例中的取值范围为-999.99~999.99。 如果存储时,整数部分超出了范围(如上面的例子中,添加数值为1000.01),MySql就会报错,不允许存这样的值。 如果存储时,小数点部分若超出范围,就分以下情况: 若四舍五入后,整数部分没有超出范围,则只警告,但能成功操作并四舍五入删除多余的小数位后保存。如999.994实际被保存为999.99。 若四舍五入后,整数部分超出范围,则MySql报错,并拒绝处理。如999.995和-999.995都会报错。 M的默认取值为10,D默认取值为0。如果创建表时,某字段定义为decimal类型不带任何参数,等同于decimal(10,0)。带一个参数时

【C】——strtok()和strtok_r()

时间秒杀一切 提交于 2020-03-18 07:21:19
下面的说明摘自于最新的Linux内核2.6.29,说明了strtok()这个函数已经不再使用,由速度更快的strsep()代替 /* * linux/lib/string.c * * Copyright (C) 1991, 1992 Linus Torvalds */ /* * stupid library routines.. The optimized versions should generally be found * as inline code in <asm-xx/string.h> * * These are buggy as well.. * * * Fri Jun 25 1999, Ingo Oeser <ioe@informatik.tu-chemnitz.de> * - Added strsep() which will replace strtok() soon (because strsep() is * reentrant and should be faster). Use only strsep() in new code, please. * * * Sat Feb 09 2002, Jason Thomas <jason@topic.com.au>, * Matthew Hawkins <matt@mh.dropbear.id.au> * -

grub参数console=

邮差的信 提交于 2020-03-18 07:13:52
本文主要分析Linux内核如何处理grub参数中的console=ttyS0,115200n8部分,中间还会穿插一些 include/linux/init.h 的内容。 grub参数中的console=有多种形式,根据 Documentation/kernel-parameters.txt 文件, console= [KNL] Output console device and options. tty Use the virtual console device . ttyS [,options] ttyUSB0[,options] Use the specified serial port. The options are of the form "bbbbpnf", where "bbbb" is the baud rate, "p" is parity ("n", "o", or "e"), "n" is number of bits, and "f" is flow control ("r" for RTS or omit it). Default is "9600n8". uart[8250],io, [,options] uart[8250],mmio, [,options] Start an early, polled-mode console on the

c++ Primer 第五版习题答案 第三章

给你一囗甜甜゛ 提交于 2020-03-18 04:43:17
3.2 编写程序,从标准输入中一次读入一整行,然后修改该程序使其一次读入一个词。 void readByLine () { string line; while (getline (cin, line)) { cout << line << endl; } } void readByWord () { string word; while (cin >> word) { cout << word << endl; } } 3.3 说明string类的输入运算符和getline函数分别是如何处理空白字符的。 输入运算符会自动忽略字符串前的空白(空格、制表符、换行等),从第一个真正的字符到下一个空白。 getline函数会保存字符串中的空白,读入数据直到遇见换行符。 3.4 编写程序,读入两个字符串,比较其是否相等并输出结果。如果不相等,输出较大的那个字符串。改写上述程序,比较输入的两个字符串是否等长,如果不等长,输出长度较大的那个字符串。 void compareString () { string s1, s2; cin >> s1 >> s2; if (s1 == s2) { cout << "equal" << endl; } else if (s1 > s2){ cout << s1 << endl; } else { cout << s2 << endl; } } void

统计字符串所有重复字符出现的次数

喜欢而已 提交于 2020-03-17 17:38:39
/****************** 统计字符串所有重复字符出现的次数******************/ /// <summary> /// 统计字符串所有重复字符出现的次数 /// </summary> /// <param name="strd"></param> public void Count_duplicate_character(string strd) { int char_cnt = 1; //计数器 string char_tdm = null; //字符倒换用的容器 //Console.WriteLine("strd:" + strd); // Console.WriteLine("strd长度" + strd.Length); char_tdm = strd[0].ToString();//将首字符放置于容器中 for (int k = 1; k < strd.Length; k++) { if (strd[0] == strd[k] ) { char_cnt = char_cnt + 1; }//计数 } if (char_cnt > 1) { Console.WriteLine(char_tdm + "共出现:" + char_cnt+"次"); //如有重复则删输出结果 char_cnt = 1; }//计数复位 strd = strd

C++string容器详解

懵懂的女人 提交于 2020-03-17 12:38:02
3.1 string容器 3.1.1 string基本概念 本质: string是C++风格的字符串,而string本质上是一个类 string和char * 区别: char * 是一个指针 string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。 特点: string 类内部封装了很多成员方法 例如:查找find,拷贝copy,删除delete 替换replace,插入insert string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责 3.1.2 string构造函数 构造函数原型: string(); //创建一个空的字符串 例如: string str; string(const char* s); //使用字符串s初始化 string(const string& str); //使用一个string对象初始化另一个string对象 string(int n, char c); //使用n个字符c初始化 示例: #include <string> //string构造 void test01() { string s1; //创建空字符串,调用无参构造函数 cout << "str1 = " << s1 << endl; const char* str = "hello world"; string s2

使用c实现简单的rpc

无人久伴 提交于 2020-03-17 11:00:59
某厂面试归来,发现自己落伍了!>>> RPC 简介 RPC(Remote Procedure Call)——远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的细节的技术。 通过RPC我们可以充分利用非共享内存的多处理器环境(例如通过局域网连接得多台工作站),这样可以简便地将你的应用分布在多台工作站上,应用程序就像运行在一个多处理器的计算机上一样。你可以方便的实现过程代码共享,提高系统资源的利用率,也可以将以大量数值处理的操作放在处理能力较强的系统上运行,从而减轻前端机的负担。 在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。 RPC 的主要目的是为组件提供一种相互通信的方式,使这些组件之间能够相互发出请求并传递这些请求的结果。 RPC 调用过程 客户机对服务器的一次RPC调用,其内部操作大致有如下十步: 1.调用客户端句柄;执行传送参数 2.调用本地系统内核发送网络消息 3.消息传送到远程主机 4.服务器句柄得到消息并取得参数 5.执行远程过程 6.执行的过程将结果返回服务器句柄 7.服务器句柄返回结果,调用远程系统内核 8.消息传回本地主机 9.客户句柄由内核接收消息 10.客户接收句柄返回的数据 RPC 的应用场景 RPC 在分布式系统中的系统环境建设和应用程序设计中有着广泛韵应用

堆内存和栈内存区别

僤鯓⒐⒋嵵緔 提交于 2020-03-17 07:54:34
原帖地址:http://hi.baidu.com/passionlh/blog/item/bb3a8181d18819debd3e1e6a.html (1) 堆栈。驻留于常规RAM(随机访问存储器)区域,但可通过它的“堆栈指针”获得处理的直接支持。堆栈指针若向下移,会创建新的内存;若向上移,则会释放那些内存。这是一种特别快、特别有效的数据保存方式,仅次于寄存器。创建程序时,Java编译器必须准确地知道堆栈内保存的所有数据的“长度”以及“存在时间”。这是由于它必须生成相应的代码,以便向上和向下移动指针。这一限制无疑影响了程序的灵活性,所以尽管有些Java数据要保存在堆栈里——特别是对象句柄,但Java对象并不放到其中。 (2) 堆。一种常规用途的内存池(也在RAM区域),其中保存了Java对象。和堆栈不同,“内存堆”或“堆”(Heap)最吸引人的地方在于编译器不必知道要从堆里分配多少存储空间,也不必知道存储的数据要在堆里停留多长的时间。因此,用堆保存数据时会得到更大的灵活性。要求创建一个对象时,只需用new命令编制相关的代码即可。执行这些代码时,会在堆里自动进行数据的保存。当然,为达到这种灵活性,必然会付出一定的代价:在堆里分配存储空间时会花掉更长的时间! (3) 静态存储。这儿的“静态”(Static)是指“位于固定位置”(尽管也在RAM里)。程序运行期间

堆内存和栈内存区别

瘦欲@ 提交于 2020-03-17 07:44:23
(1) 堆栈。驻留于常规RAM(随机访问存储器)区域,但可通过它的“堆栈指针”获得处理的直接支持。堆栈指针若向下移,会创建新的内存;若向上移,则会释放那些内存。这是一种特别快、特别有效的数据保存方式,仅次于寄存器。创建程序时,Java编译器必须准确地知道堆栈内保存的所有数据的“长度”以及“存在时间”。这是由于它必须生成相应的代码,以便向上和向下移动指针。这一限制无疑影响了程序的灵活性,所以尽管有些Java数据要保存在堆栈里——特别是对象句柄,但Java对象并不放到其中。 (2) 堆。一种常规用途的内存池(也在RAM区域),其中保存了Java对象。和堆栈不同,“内存堆”或“堆”(Heap)最吸引人的地方在于编译器不必知道要从堆里分配多少存储空间,也不必知道存储的数据要在堆里停留多长的时间。因此,用堆保存数据时会得到更大的灵活性。要求创建一个对象时,只需用new命令编制相关的代码即可。执行这些代码时,会在堆里自动进行数据的保存。当然,为达到这种灵活性,必然会付出一定的代价:在堆里分配存储空间时会花掉更长的时间! (3) 静态存储。这儿的“静态”(Static)是指“位于固定位置”(尽管也在RAM里)。程序运行期间,静态存储的数据将随时等候调用。可用static关键字指出一个对象的特定元素是静态的。但Java对象本身永远都不会置入静态存储空间。 堆:顺序随意 栈:先进后出 堆和栈的区别

Linux System Programming 学习笔记(八) 文件和目录管理

…衆ロ難τιáo~ 提交于 2020-03-17 07:15:39
1. 文件和元数据 每个文件都是通过inode引用 ,每个inode索引节点都具有文件系统中唯一的inode number 一个inode索引节点是存储在Linux文件系统的磁盘介质上的物理对象,也是LInux内核通过数据结构表示的实体 inode存储相关联文件的元数据 ls -i 命令获取文件的inode number /* obtaining the metadata of a file */ #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> int stat (const char *path, struct stat *buf); int fstat (int fd, struct stat *buf); int lstat (const char *path, struct stat *buf); 注意:lstat函数可以获取 符号链接的文件元数据,lstat() returns information about the link itself and not the target file struct stat { dev_t st_dev; /* ID of device containing file */ ino_t st_ino; /* inode number */ mode