str函数

Linux内存点滴 用户进程内存空间

做~自己de王妃 提交于 2020-03-07 14:14:12
http://www.perfgeeks.com/?p=723 http://www.perfgeeks.com/?p=770 经常使用 top 命令了解进程信息,其中包括内存方面的信息。命令 top 帮助文档是这么解释各个字段的。 VIRT , Virtual Image (kb) RES, Resident size (kb) SHR, Shared Mem size (kb) %MEM, Memory usage(kb) SWAP, Swapped size (kb) CODE, Code size (kb) DATA, Data+Stack size (kb) nFLT, Page Fault count nDRT, Dirty Pages count 尽管有注释,但依然感觉有些晦涩,不知所指何意? 进程内存空间 正在运行的程序,叫进程。每个进程都有完全属于自己的,独立的,不被干扰的内存空间。此空间,被分成几个段 (Segment), 分别是 Text, Data, BSS, Heap, Stack 。用户进程内存空间,也是系统内核分配给该进程的 VM( 虚拟内存 ) ,但并不表示这个进程占用了这么多的 RAM( 物理内存 ) 。这个空间有多大?命令 top 输出的 VIRT 值告诉了我们各个进程内存空间的大小(进程内存空间随着程序的执行会增大或者缩小)。你还可以通过

深入理解Python字符编码

社会主义新天地 提交于 2020-03-07 12:45:24
不论你是有着多年经验的 Python 老司机还是刚入门 Python 不久,你一定遇到过UnicodeEncodeError、UnicodeDecodeError 错误,每当遇到错误我们就拿着 encode、decode 函数翻来覆去的转换,有时试着试着问题就解决了,有时候怎么试都没辙,只有借用 Google 大神帮忙,但似乎很少去关心问题的本质是什么,下次遇到类似的问题重蹈覆辙,那么你有没有想过一次性彻底把 Python 字符编码给搞懂呢? 完全理解字符编码 与 Python 的渊源前,我们有必要把一些基础概念弄清楚,虽然有些概念我们每天都在接触甚至在使用它,但并不一定真正理解它。比如:字节、字符、字符集、字符码、字符编码。 字节 字节(Byte)是计算机中数据存储的基本单元,一字节等于一个8位的比特,计算机中的所有数据,不论是保存在磁盘文件上的还是网络上传输的数据(文字、图片、视频、音频文件)都是由字节组成的。 字符 你正在阅读的这篇文章就是由很多个字符(Character)构成的,字符一个信息单位,它是各种文字和符号的统称,比如一个英文字母是一个字符,一个汉字是一个字符,一个标点符号也是一个字符。 字符集 字符集(Character Set)就是某个范围内字符的集合,不同的字符集规定了字符的个数,比如 ASCII 字符集总共有128个字符,包含了英文字母、阿拉伯数字

2019春第七周作业

試著忘記壹切 提交于 2020-03-07 09:53:12
这个作业属于哪个课程 C语言程序设计II 这个作业要求在哪里 2019年春季学期第七周作业 我在这个课程的目标是 我希望能够通过学习C语言的知识,编写程序 这个作业在哪个具体方面帮助我实现目标 这个作业让我知道了掌握数组名作为函数参数的用法,理解指针和数组可以实现相同的操作 参考文献 字母大小写转换 , C 结构体 一、本周完成的作业 题目1. 6-2 每个单词的最后一个字母改成大写 (10 分) 函数fun的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。 函数接口定义: void fun( char *p ); 其中 p 是用户传入的参数。函数将 p所指字符串中每个单词的最后一个字母改成大写。 裁判测试程序样例: #include <stdio.h> void fun( char *p ); int main() { char chrstr[64]; int d ; gets(chrstr); d=strlen(chrstr) ; chrstr[d] = ' ' ; chrstr[d+1] = 0 ; fun(chrstr); printf("\nAfter changing: %s\n", chrstr); return 0; } /* 请在这里填写答案 */ 输入样例: my friend is happy 输出样例:

习题11-4 字符串的连接 (15分)

匆匆过客 提交于 2020-03-07 09:10:56
本题要求实现一个函数,将两个字符串连接起来。 函数接口定义: char *str_cat( char *s, char *t ); 函数 str_cat 应将字符串 t 复制到字符串 s 的末端,并且返回字符串 s 的首地址。 裁判测试程序样例: #include <stdio.h> #include <string.h> #define MAXS 10 char *str_cat( char *s, char *t ); int main() { char *p; char str1[MAXS+MAXS] = {'\0'}, str2[MAXS] = {'\0'}; scanf("%s%s", str1, str2); p = str_cat(str1, str2); printf("%s\n%s\n", p, str1); return 0; } /* 你的代码将被嵌在这里 */ 输入样例: abc def 输出样例: abcdef abcdef 解答: char *str_cat( char *s, char *t ){ int i; int lens = strlen(s),lent = strlen(t); for(i = 0;i<lent;i++){ s[i+lens] = t[i]; } return s; } 来源: CSDN 作者: youandworld 链接:

LeetCode 295. Find Median from Data Stream(multiset,heap)

狂风中的少年 提交于 2020-03-06 18:11:26
题目 题意:有n个操作,存入数字,和输出中位数 题解:要确保输入数字的操作和输出中位数的操作,都是低于等于Log(n)的效率。 那么怎么做呢?我们维护两个multiset ,内部是一棵红黑树。一个树A 维护的是较大值,树B维护的是较小值。A,B平分秋色。 中位数显然就是A里的最小值和B里的最大值中选择。那么在存数字的时候判断这个数字应该放到哪个树里,然后再需要判断A,B的元素数量差,如果出现差值大于1,就要把较多的那个树的某个极值元素放到较小的那个树里,始终保持两个树的元素数量差不超过1,所以存入数字的效率是O(logn*3) 而取中位数是O(1)的效率 不知道为什么multiset的size()函数,会超时,难道是O(n)的效率取size吗?介绍里明明是constant的时间复杂度啊。 用优先队列也可以的。效率是一样的。 class MedianFinder { public: /** initialize your data structure here. */ multiset<int> m1; multiset<int> m2; int n=0; int len1; int len2; MedianFinder() { m1.clear(); m2.clear(); len1=0; len2=0; } void addNum(int num) { if(len1==0&

c++ string转char* char字符数组转字符串 push_back使用方法

别说谁变了你拦得住时间么 提交于 2020-03-06 16:40:36
c++ string转char* 1、如果要将string转换为char*,可以使用string提供的函数c_str() ,或是函数data(),data除了返回字符串内容外,不附加结束符'\0',而c_str()返回一个以‘\0’结尾的字符数组。 2、const char *c_str(); c_str()函数返回一个指向正规C字符串的指针,内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式. 注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针 比如:最好不要这样: char* c; string s="1234"; c = s.c_str(); //c最后指向的内容是垃圾,因为s对象被析构,其内容被处理 应该这样用: char c[20]; string s="1234"; strcpy(c,s.c_str()); 这样才不会出错,c_str()返回的是一个临时指针,不能对其进行操作 再举个例子 c_str() 以 char* 形式传回 string 内含字符串 如果一个函数要求char*参数,可以使用c_str()方法: string s = "Hello World!"; printf("%s",s.c_str()); /

python编码(六)

こ雲淡風輕ζ 提交于 2020-03-06 04:38:51
1. 字符编码简介 1.1. ASCII ASCII (American Standard Code for Information Interchange),是一种单字节的编码。计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号。不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础。 1.2. MBCS 然而计算机世界里很快就有了其他语言,单字节的ASCII已无法满足需求。后来每个语言就制定了一套自己的编码,由于单字节能表示的字符太少,而且同时也需要与ASCII编码保持兼容,所以这些编码纷纷使用了多字节来表示字符,如 GBxxx 、 BIGxxx 等等,他们的规则是,如果第一个字节是\x80以下,则仍然表示ASCII字符;而如果是\x80以上,则跟下一个字节一起(共两个字节)表示一个字符,然后跳过下一个字节,继续往下判断。 这里,IBM发明了一个叫Code Page的概念,将这些编码都收入囊中并分配页码,GBK是第936页,也就是 CP936 。所以,也可以使用CP936表示GBK。 MBCS (Multi-Byte Character Set)是这些编码的统称。目前为止大家都是用了双字节,所以有时候也叫做 DBCS (Double-Byte Character Set)。必须明确的是

[剑指offer] 面试题05 替换空格

空扰寡人 提交于 2020-03-05 23:31:54
替换空格 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = “We are happy.” 输出:“We%20are%20happy.” 限制: 0 <= s 的长度 <= 10000 1. C++ 解题思路: 1.利用c++11 以后遍历容器的方法 for(auto a:s) ,res 为新建的string class Solution { public : string replaceSpace ( string s ) { string res ; for ( auto a : s ) { if ( a == ' ' ) res + = "%20" ; else res + = a ; } return res ; } } ; 2.一般像这种需要向后扩充容量重新整理内存的,最好能够考虑到从尾部开始整理的方法 1.指针都可以当作数组使用,但是指针本身不检查是否超出数组范围。 2.对字符串的处理都应该考虑最后的空字符’\0’。 3.应该一个一个的处理字符串中的字符,不要向一蹴而就。 4.扩充字符串可以考虑从尾部开始。 5.应该警惕内存覆盖,如果改变字符串会导致字符串变长,那应该考虑内存的问题 从尾部开始扩展倒置 # include <vector> # include <iostream> using namespace std ; void

php - preg_match

喜你入骨 提交于 2020-03-05 23:10:28
任务:匹配一个函数名或者变量名,如果碰到alpha,numeric,_以外的全部不允许通过。 实验1: <?php //第一个字符不符合就直接退出正则匹配 $str = '%abcscript%d'; var_dump(preg_match('/^(\w*)$/', $str, $matches)); var_dump($matches); #########output######## #int(0) #array(0) { #} ####################### #匹配到 $str1 = 'abcscriptd123_'; var_dump(preg_match('/^(\w*?)$/', $str1, $matches)); var_dump($matches); #########output######## #int(1) #array(2) { # [0]=> # string(14) "abcscriptd123_" # [1]=> # string(14) "abcscriptd123_" #} ####################### #中间有不匹配模式的 $str2 = 'acd%acd'; var_dump(preg_match('/^(\w*?)/', $str2, $matches)); var_dump($matches); ####

ajax的json框架

馋奶兔 提交于 2020-03-05 21:32:23
其实json的核心思想就是对象和字符串在服务器端和客户端的相互转化,通过json.jar和json.js来实现,可以使服务器端接收上来的数据自动进行实体的转换,也使得客户端不用再因拼接字符串而烦恼. 是比 xml 更好的数据格式 : 1) 能够表示出 复杂的数据结构 . 2) 在客户端 和 服务器 端都能够很方便的解析 . ----------------------------------------------------------------------- JSON : 1, 定义了一种描述数据的格式 . student( id , name , age , email ) ; "{ 'id':'1' , 'name':'zhangsan' , 'age':10 , 'email':'zhangsan@cernet.com' , 'address' : { 'street':'xxxx' , 'postcode':'1111' } , 'phone' : ['1111' , '22222' , '33333'] }" 2, json.js 提供了两个函数 . javascript object <---> str |-> stringify( object ) --> str |-> parse( str ) --> obj 3, json.jar