str函数

C语言字符数组的初始化

可紊 提交于 2020-03-15 22:38:28
1、字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。 char str[ 10 ]={ 'I' , ' ' , 'a' , 'm' , ' ' ,‘h’, 'a' , 'p' , 'p' , 'y' }; 即把10个字符分别赋给str[0]到str[9]10个元素 如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即'\0' )。 2、字符数组与字符串 在c 语言中, 将字符串作为字符数组来处理 。(c++中不是)在实际应用中人们关心的是有效字符串的长度而不是字符数组的长度,例如,定义一个字符数组长度为100,而实际有效字符只有40个,为了测定字符串的实际长度,C 语言规定了一个“ 字符串结束标志 ”,以字符' \0’ 代表。如果有一个字符串,其中第10个字符为'\0',则此字符串的有效字符为9个。也就是说,在遇到第一个字符'\0'时,表示字符串结束,由它前面的字符组成字符串。 系统对字符串常量也自动加一个'\0'作为结束符。例如"C Program”共有9个字符,但在内存中占10个字节,最后一个字节'\0'是系统自动加上的。(通过sizeof()函数可验证) 有了结束标志'\0'后,字符数组的长度就显得不那么重要了,在程序中往往依靠检测'\0

常用Linux命令

*爱你&永不变心* 提交于 2020-03-15 20:39:52
常用Linux命令 1. 文件管理 1.1. 列出文件 1.2. 打印当前工作目录 1.3. 建立目录 1.4. 切换工作目录 1.5. 删除文件或目录 1.6. 移动文件或目录 1.7. 复制文件或目录 1.8. 统计文件或目录大小 2. 文件操作 2.1. 查看文件 2.2. 连接文件 2.3. 反向连接文件 2.4. 按列提取文件内容 2.5. 比较文件差异 2.6. 打包文件 2.7. 压缩文件 2.8. 统计文件行数 2.9. 打印文件并增加行号 2.10. 更新文件时间戳 3. 日期和时间 3.1. 打印日期 3.2. 打印日历 4. 搜索 4.1. 搜索程序 4.2. 搜索程序名 4.3. 搜索文件 4.4. 正则表达式搜索 5. 进程管理 5.1. 查看进程 5.2. 向进程发送信号 5.3. 列出信号 5.4. 查看进程打开的文件 5.5. 实时查看系统进程 6. 网络 6.1. 检查网络联通性 6.2. 查看本地套接字 6.3. 查看网卡配置 6.4. 查看主机名 6.5. 跟踪IP路由 6.6. 查看本地路由表 6.7. 下载文件 6.8. 抓取网络包 7. 辅助函数 7.1. 打印字符串 8. Bash 8.1. 变量 8.2. 分支条件 8.3. 数值计算 8.4. 执行命令 8.5. 数组 8.6. 函数 8.7. 字符串 8.8. 循环 8.9.

C语言字符串

本秂侑毒 提交于 2020-03-15 18:00:54
目录 一、字符串的概念 二、占用内存的情况 三、字符串的初始化 四、字符串与指针 五、字符串的结尾标志 六、字符串的输出 七、字符串越界 八、字符串常用的库函数 1、获取字符串的长度(strlen) 2、字符串复制或赋值(strcpy) 3、字符串复制或赋值(strncpy) 4、字符串拼接(strcat) 5、字符串拼接(strncat) 6、字符串比较(strcmp、strncmp) 7、字符查找(strchr、strrchr) 8、字符串查找(strstr) 九、应用经验 1、留有余地 2、变量初始化 3、位置(地址)偏移的用法 4、不要在子函数中对字符指针用sizeof 十、课后作业 十一、版权声明 在很多教程中,字符串不过是一个以0结束的字符数组,但是,在我看来,字符串虽然不是C语言基本数据类型,但它比任何数据类型都重要,因为字符串是最常用的数据。 一、字符串的概念 我们可以把字符串储存在char类型的数组中,如果char类型的数组末尾包含一个表示字符串末尾的空字符\0,则该数组中的内容就构成了一个字符串。 因为字符串需要用\0结尾,所以在定义字符串的时候,字符数组的长度要预留多一个字节用来存放\0,\0就是数字0。这是约定。 char strname[21]; // 定义一个最多存放20个英文字符或十个中文的字符串 字符串也可以存放中文和全角的标点符号

Python3 中的 str 和 bytes

女生的网名这么多〃 提交于 2020-03-15 11:29:00
与 Python2.X 不同,Python3.X 严格区分了 str 和 bytes 两种类型。文本为 Unicode,由 str 类型表示;二进制数据则由 bytes 表示。 Python3.X 不会以任意隐式的方式混用 str 和 bytes。因此使用者不能拼接字符串和字节包,也无法在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然)。 例如 Python3.X 中的 socket.send() 函数,如果传入未编码的字符串,会报错: >>> client.send("test str") Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: a bytes-like object is required, not 'str' >>> client.send(b"test str") #将参数转换成 bytes 类型 8 #返回发送的数据长度 编码发展的历史 在计算机历史的早期,美国为代表的英语系国家主导了整个计算机行业,26个英文字母组成了多样的英语单词、语句、文章。因此,最早的字符编码规范是 ASCII码,一种8位(即1个字节)的编码规范 ,它可以涵盖整个英语系的编码需要。 编码是什么?编码就是把一个字符用一个二进制来表示。我们都知道

ofstream和ifstream详细用法

狂风中的少年 提交于 2020-03-14 15:42:12
ASCII和二进制文件的输入输出 First : 包含头文件#include <fstream> ASCII输入:   首先要创建一个in-stream对象:ifstream fin("input.txt");    逐词读取: fin>>num>>s;        读取过程中遇到空白符,>>操作符就会停止读取内容,知道遇到另一个>>操作符。    逐行读取: fin.getline(sentence, num);        第一个参数用来接受char数组;第二个参数是在遇到换行符之前,数组允许接受的最大元素数量。 ASCII输出:   首先声明一个ofstream-fout类对象( 打开 文件):ofstream fout("output.txt");    操作举例:     int num = 150;     char name[] = "John Doe";     fout << "Here is a number: " << num << "/n";     fout << "Now here is a string: " << name << "/n";    关闭文件 (自动保存文件),或者回写文件缓冲(保持文件打开的情况下保存文件):     fout << flush; fout.close(); 二进制输入输出:    声明: 不再使用插入(<<

sizeof和strlen小结

瘦欲@ 提交于 2020-03-14 04:16:58
sizeof和strlen小结 写在前面 之所以要总结一下sizeof和strlen的用法和区别,是因为这些知识可以帮助我们更加深入的理解各种数据结构在内存中的占用情况,也许表面上看好像没有多大用处,但有了这种理解,或许会对以后的编码有帮助。 sizeof sizeof是一种操作符,它的作用是返回一个对象或类型名的长度,返回值的类型为size_t,长度的单位是字节。sizeof表达式的结果是 编译时常量 。具体有以下三种用法: sizeof(类型名) sizeof(表达式) sizeof 表达式 使用sizeof操作符时,其结果部分地依赖所涉及的类型: 1、对char类型或值为char类型的表达式做sizeof操作保证得1; 2、对引用类型做sizeof操作将返回存放此引用类型对象所需的内存空间大小; 3、对指针做sizeof操作将返回存放指针所需的内存大小 4、对数组做sizeof操作等效于将其元素做sizeof操作的结果乘上数组元素的个数。 需要注意的是,sizeof不是一个函数,字节数的计算在程序编译时进行,而不是在程序执行的过程中才计算出来! 其返回值类型为size_t,在头文件stddef.h中定义。 sizeof的计算发生在编译时刻,所以它可以被当作常量表达式使用,如: char ary[sizeof(int)*10];//ok sizeof(

笔记strlen() ,sizeof(),strcpy(),strncpy(),strcat()

依然范特西╮ 提交于 2020-03-13 12:47:18
strlen函数的意思是测试字符串的字符长度,不含字符串结束标志的。 int strlen( const char *str) { assert(str != NULL); int len; while((*str++) != '\0') { len++; } return len; } sizeof是运算符,它的结果是字符串在内存中的所占字节大小,它要把\0算进去的。 strcpy函数原型 ( strcpy(s1,s2); strcpy函数的意思是:把字符串s2中的内容copy到s1中,连字符串结束标志也一起copy ) char *strcpy(char *strDest, const char *strSrc)//strDest为目标,strSrc为源 { assert((strDest!=NULL) && (strSrc !=NULL)); //如果两个为空则不用复制,直接中止 char *address = strDest; //用address指向strDest开始地址 while( (*strDest++ = * strSrc++) != ‘\0’ ) //复制,直到源串结束; NULL ; //空操作 return address ; //返回strDest开始地址 } } strncpy函数 : 利用标准库函数strncpy(),可以

评论楼

我的未来我决定 提交于 2020-03-13 10:03:41
从数据库中取出本篇博客的所有评论 使用python语句将评论整理成具有层级关系的列表 typename=request.POST.get('typename') comment_list = models.comment.objects.filter(article_id=int(typename)).values("id", "content", "user__nickname", "parent_id_id") comment_dict = {} for item in comment_list: item["child"] = [] comment_dict[item['id']] = item comment = [] for item in comment_list: pid = item["parent_id_id"] if pid: comment_dict[pid]["child"].append(item) else: comment.append(item) 方式一: 后台生成html字符串(递归函数) def comment_tree(comment_list): # [{'child': [{'child': [{'child': [], 'user__nickname': 'egon', 'content': '哪里不好啊', 'create_time':

php中正则表达式详解

佐手、 提交于 2020-03-13 08:46:50
概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。常用的语言基本上都有正则表达式,如JavaScript、java等。其实,只有了解一种语言的正则使用,其他语言的正则使用起来,就相对简单些。文本主要围绕解决下面问题展开。 有哪些常用的转义字符 什么是限定符与定位符 什么是单词定位符 特殊字符有哪些 什么是逆向引用以及怎样使用逆向引用 匹配模式 php中怎样使用正则表达式 php中哪些方面需要用到正则 怎样进行邮箱匹配,url匹配,手机匹配 怎样使用正则替换字符串中某些字符 贪婪匹配与惰性匹配区别 正则表达式之回溯与固态分组 正则优缺点有哪些 正则表达式的基本知识汇总 行定位符(^与$) 行定位符是用来描述字符串的边界。 “$” 表示行结尾 “^” 表示行开始如 "^de" ,表示以de开头的字符串 "de$" ,表示以de结尾的字符串。 单词定界符 我们在查找的一个单词的时候,如an是否在一个字符串”gril and body”中存在,很明显如果匹配的话,an肯定是可以匹配字符串“gril and body”匹配到,怎样才能让其匹配单词,而不是单词的一部分呢?这时候,我们可以是哟个单词定界符\b。 \ban\b 去匹配”gril and body”的话,就会提示匹配不到。 当然还有一个大写的\B,它的意思,和\b正好相反

php中正则表达式详解

巧了我就是萌 提交于 2020-03-13 06:24:14
概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。常用的语言基本上都有正则表达式,如JavaScript、java等。其实,只有了解一种语言的正则使用,其他语言的正则使用起来,就相对简单些。文本主要围绕解决下面问题展开。 有哪些常用的转义字符 什么是限定符与定位符 什么是单词定位符 特殊字符有哪些 什么是逆向引用以及怎样使用逆向引用 匹配模式 php中怎样使用正则表达式 php中哪些方面需要用到正则 怎样进行邮箱匹配,url匹配,手机匹配 怎样使用正则替换字符串中某些字符 贪婪匹配与惰性匹配区别 正则表达式之回溯与固态分组 正则优缺点有哪些 正则表达式的基本知识汇总 行定位符(^与$) 行定位符是用来描述字符串的边界。 “$” 表示行结尾 “^” 表示行开始如 "^de" ,表示以de开头的字符串 "de$" ,表示以de结尾的字符串。 单词定界符 我们在查找的一个单词的时候,如an是否在一个字符串”gril and body”中存在,很明显如果匹配的话,an肯定是可以匹配字符串“gril and body”匹配到,怎样才能让其匹配单词,而不是单词的一部分呢?这时候,我们可以是哟个单词定界符\b。 \ban\b 去匹配”gril and body”的话,就会提示匹配不到。 当然还有一个大写的\B,它的意思,和\b正好相反