字符串函数

cookie和session

大憨熊 提交于 2020-02-29 09:45:36
一 http 无状态 定义: HTTP 无状态协议,是指协议对于交互性场景没有记忆能力。 通俗点说, http 不记录任何状态,也就无法维持会话。 例子: 购物商城买东西,当登陆成功后,跳转到购买页面,此时再添加商品,服务器跳转到购买商品的接口,无法判断是否合法,就需要再登陆一遍。因为登陆的那个响应已经结束,而 Http 不记录任何状态,因此服务器要重新调用登陆那个接口才能让用户添加商品。 二 cookie 1.cookie 由于 HTTP 是一种无状态的协议,服务器单纯从网络连接上无从知道客户身份。 Cookie 就来解决这个问题 ( 1 ) cookie 是什么: cookie 是浏览器的技术, Cookie 具体指的是一段小信息,它是服务器发送出来存储在浏 览器上的一组组键值对,可以理解为服务端给客户端的一个小甜点,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息。 ( 2 ) cookie 原理: 浏览器访问服务端,带着一个空的 cookie ,然后由服务器产生内容,浏览器收到相应后保存在本地;当浏览器再次访问时,浏览器会自动带上 Cookie ,这样服务器就能通过 Cookie 的内容来判断这个是 “ 谁 ” 了。 ( 3 ) cookie 传输: Cookie 是通过 HTTP 请求 头 和响应头在客户端和服务器端传递的

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

[LeetCode] 28. Implement strStr()

强颜欢笑 提交于 2020-02-29 03:53:09
实现strStr()函数。题意是给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。这个题有KMP算法的答案但是我这里只给出另一个简单的解法,不算暴力解。 Example 1: Input: haystack = "hello", needle = "ll" Output: 2 Example 2: Input: haystack = "aaaaa", needle = "bba" Output: -1 时间O(n) 空间O(1) 1 /** 2 * @param {string} haystack 3 * @param {string} needle 4 * @return {number} 5 */ 6 var strStr = function (haystack, needle) { 7 // corner case 8 if (needle === '') { 9 return 0; 10 } 11 12 if (needle.length > haystack.length) { 13 return -1; 14 } 15 16 // normal case 17 let m = haystack.length; 18 let n =

PHP面试题

前提是你 提交于 2020-02-29 00:22:07
此面试题根据 云知梦 免费课程总结整理得出。 选择题: 输出为 Mozilla/5.0 (Windows NT 10.0; Win64; x64) 时,可能的输出语句是? A. $_SERVER['AGENT']; B. $_SERVER['USER_AGENT']; C. $_SERVER['HTTP_USER_AGENT']; D. $_SERVER['HTTP_USER_AGENT_TYPE']; 答案:C 下面功能PHP无法实现的是? A. 服务端脚本运行 B. 客户端图形界面(GUI)程序 C. 命令行脚本运行 D. 浏览器端执行 DOM 操作 答案:B D 下面说法不正确的是? A. PHP有四种标量类型:布尔型(bool)、整型(int)、字符串(string)、浮点型(float) B. 浮点型(float)与双精度型(double)是同一种类型 C. 复合类型包括:数组(array)、对象(object)、资源(resource) D. 伪类型包括:混合类型(mixed)、数字型(number)、回调(callback) 答案:C 资源(resource)和NULL属于特殊类型 执行代码后 <?php echo function_exists('print'); ?> ,输出的结果是? A. false B. FALSE C. true D. 空 答案:D

MySQL常用字符串函数

末鹿安然 提交于 2020-02-28 22:28:38
一、字符串截取函数 1. 返回字符串 s 的前 n 个字符 SELECT LEFT("abcd",2); ---ab 2. 返回字符串 s 的后 n 个字符 SELECT RIGHT("abcd",2); -- cd 3. 从字符串 s 的 start 位置截取长度为 length 的子字符串 SSELECT SUBSTRING("abcd", 1, 4) ; --abcd 下标从1开始 二、其他字符串函数 1. 去掉字符串 s 开始和结尾处的空格 SELECT TRIM(" abcd ") --abcd 2.将字符串转换为大写 UPPER("abc") --ABC 3. 去掉字符串 s 结尾处的空格 RTRIM("abc ") --abcd 4. 将字符串 s 的所有字母变成小写字母 LOWER("Abcd") --abcd 5. 字符串 s1,s2 等多个字符串合并为一个字符串 CONCAT("a","b","c") --abc 来源: CSDN 作者: love_Watermelon 链接: https://blog.csdn.net/qq_33036061/article/details/104559529

C++字符串、向量和数组知识概要总结

China☆狼群 提交于 2020-02-28 22:26:07
字符串 记一下string的几种没用过的初始化操作,赋值不能这么搞 string s1("value"); string s2(s1); string s3(6,'z'); string s4=string(6,'a'); 上面没咋提拷贝初始化,带等号的都是拷贝初始化,这里都是直接初始化 getline(cin, line); 可接受句子,遇到换行符则停止, 并且换行符也会被读入,但是这个换行符又被丢弃了 while(getline(cin, line)){ cout << line << endl; } while(cin>>line){ cout << line << endl; } 从上述两个例子里可以看出getline确实读入了换行符而且确实又把它给丢弃了。 注意注意注意!! string.size()这个函数返回的值的类型并不是int,而是string::size_type类型的,并且非常值得注意的是这个类型他是无符号类型的,用这个直接带入一些式子中可能会有意想不到的结果的; 尤其要注意的是s.size()<n这样的结构。~!! 关于string大小的判断,比较第一对相异的字符大小即可,若没有相异的,谁长谁大,或者就是相等 可以用字符字面值和字符串字面值转换成string 当string对象和字符字面值以及字符串字面值混在一起使用是,必须确保加号两边至少一个是string

剑指Offer刷题总结

你。 提交于 2020-02-28 21:50:31
1. 二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路题 从右上角或者左下角开始缩小范围。 2. 替换空格 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 语法题 3. 从尾到头打印链表 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 头插法 数组反转 栈 递归 4. 重建二叉树 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 递归 API:Arrays.copyOfRange() 5. 用两个栈实现队列 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 简单题 6. 旋转数组的最小数字 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5

linux实战(一)----日志的截取-----文本过滤器grep、文本流式编辑器sed、报表生成器awk的运用

不羁的心 提交于 2020-02-28 21:47:55
linux实战(一)----日志的截取-----文本过滤器grep、文本流式编辑器sed、报表生成器awk的运用 2015年12月25日 16:28:50 张小凡vip 阅读数 5404更多 所属专栏: linux基础与shell编程 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q383965374/article/details/50394765 我们前面已经学习过 linux的性能查询(top),以及网络端口查询(netstat)命令等等。 怎么让我们查询到的信息按 我们需要的格式 显示生成。 就是我们本章 需要 学习练习的。 主要是grep,sed,awk3个命令的运用。 grep主要负责搜索 sed主要负责处理行 awk主要复杂处理列 我们在下一章的内容再来学习实例,如果用这几个命令来进行性能监控等。 grep 作用 grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。 grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 格式 grep [options] [options]主要参数: -c:只输出匹配行的计数。 -I:不区分大小写(只适用于单字符)。 -h:查询多文件时不显示文件名。 -l

Python3 基本数据类型:字符串、列表、元组、集合、字典等

依然范特西╮ 提交于 2020-02-28 20:32:02
Python3 基本数据类型 Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。 等号(=)用来给变量赋值。 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如: 实例(Python 3.0+) #!/usr/bin/python3 counter = 100 # 整型变量 miles = 1000.0 # 浮点型变量 name = " runoob " # 字符串 print ( counter ) print ( miles ) print ( name ) 运行实例 » 执行以上程序会输出如下结果: 100 1000.0 runoob 多个变量赋值 Python允许你同时为多个变量赋值。例如: a = b = c = 1 以上实例,创建一个整型对象,值为 1,从后向前赋值,三个变量被赋予相同的数值。 您也可以为多个对象指定多个变量。例如: a, b, c = 1, 2, "runoob" 以上实例,两个整型对象 1 和 2 的分配给变量 a 和 b,字符串对象 "runoob" 分配给变量 c。 标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表

一个AT命令处理小函数

孤街醉人 提交于 2020-02-28 18:43:32
问题描述 对于AT命令的回复,是一个字符串,如果处理该字符串,每次收到字符串都处理一次非常的麻烦,写一个函数来处理AT命令,能大大减少这种麻烦。 函数 /* * 取两个分隔符之间的子串 * str 原始字符串 * separator1 第一个分隔符 * separator2 第二个分隔符 * num 字符串出现几次时,作为第一个分隔符的位置。 * substr 取出的两个分隔符间的子串,从0起数。"+QMTRECV: 0,0,"Hello",hello world" */ uint8_t get_sub_str(char * str,char * separator1,char * separator2,int8_t num, char * substr) { int8_t i; char *p1,*p2; p1 = str; for(i = 0; i<=num; i++) { p1 = strstr(p1,separator1); if(p1 == NULL) return 1; p1++; } p2 = strstr(p1,separator2); if(p2 == NULL) return 2; memcpy(substr,p1,p2-p1); return 0; } 将AT命令返回的字符串赋给str,取两个分隔符之间的子串,将该子串放到substr中返回