strlen

C总结-part_2-数组&字符串

风流意气都作罢 提交于 2020-03-01 16:54:26
5_数组 & 字符串 数组 数组属于构造数据类型。 数组元素,可以是基本数据类型,也可以是构造类型; 空格 \t 换行 \n ——————————————————————————————————————————————— 数组的大小 int score[10]; sizeof(score); // 40,一个int为4B,10个占用40B sizeof(int); // 4 int length = sizeof(score)/sizeof(int); // 可以通过这种方式计算出数组长度 // 注意:即使数组越界,sizeof依然会返回一个正确的数组元素占用的大小值 // 例如,score[10000],下标越界,但是sizeof依然可以返回4 int len = sizeof(score)/sizeof(score[10000]); ——————————————————————————————————————————————— 数组初始化 int a[10] = {1,2,3,4,5,6,7,8,9,0}; int b[10] = {1,2,3}; // 前3个赋值,后7个全部为默认0; int a[10] = {0}; // 10个元素全部赋值为0 int a[] = {1,2,3,4,5};; // 未指定数组长度,只指定成员 int a[10] = {1}; //

实现linux的ls命令,可带参数

若如初见. 提交于 2020-02-29 19:47:56
两个重点: opendir:DIR *opendir(const char *name), 传文件名,返回一个指针,指向目录序列。头文件:#include <sys/types.h> readdir:struct dirent *readdir(DIR *dirp), 把opendir的返回值传过来, 返回值为一个结构体。头文件 #include <dirent.h> #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h>//获取时间 #include<sys/stat.h>//返回一个包含文件属性的结构体 #include<unistd.h>//调用系统原语 #include<sys/types.h>//一些数据类型,如pid_t进程ID #include<linux/limits.h>//限制数据类型边界 #include<dirent.h>//打开目录读取目录关闭目录,成功则返回指针 #include<grp.h>//组文件 #include<pwd.h>//口令文件 #include<errno.h>//查看错误代码 #define PARAM_NONE 0 //无参数 #define PARAM_A 1 //-a :显示所有文件 #define PARAM_L 2 //-l

Frida功能封装(二)

社会主义新天地 提交于 2020-02-28 14:36:21
一、封装库 (1).hook jni函数调用 https://github.com/Areizen/JNI-Frida-Hook 二、自己封装 function str2ArrayBuffer(str) { var buf = new ArrayBuffer(str.length); // 1 bytes for each char var bufView = new Uint8Array(buf); for (var i=0, strLen=str.length; i < strLen; i++) { bufView[i] = str.charCodeAt(i); } return buf; } 来源: CSDN 作者: jinangl 链接: https://blog.csdn.net/jinangl/article/details/104550691

《C语言》—— 数组

馋奶兔 提交于 2020-02-27 03:45:24
书籍使我变成了一个幸福的人,使我的生活变成轻松而舒适的诗。——高尔基 本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues。 https://github.com/midou-tech/articles 点关注,不迷路!!! 前言  我本来准备C语言章节就写个指针就ok了,在我看来C语言的精华部分就是指针了。但是有很多同学就开始在群里各种拉扯C语言的其他问题,没办法,我是龙叔嘛,想想还是整理一下,把一些重要的C语言知识点都一一更新了吧。C语言指针的内容请点击 指针(上) 和 指针(下) , 记得点关注,不迷路 数组的基本概念  我们把一组数据的集合称为 数组(Array) ,它所包含的每一个数据叫做 数组元素 (Element),所包含的数据的个数称为 数组长度 (Length),数组中的每个元素都有一个序号,这个序号从0开始,而不是从我们熟悉的1开始,称为 下标 (Index),所包含数组的里面元素的类型叫做 数组类型 (Type)。  一句话就说清楚了数组的基本概念,就是这么简单,^_^。 数组底层结构探析 1int array[5]; 内存布局图  不要看这个图简单,底层就是这样的。数组是一个整体,它的内存是 连续 的;也就是说,数组元素之间是相互挨着的,彼此之间没有一点点缝隙。   这一点很重要,连续的内存为 指针 操作(通过指针来访问数组元素)和内存处理

为什么str=new char[strlen(s)+1]; 中要+1

徘徊边缘 提交于 2020-02-26 18:42:59
因为strlen是计算字符串有多少字符的,不包括结束符”\0“,所以加一。如"abc",占四个字节,strlen的值是3 //释放实例自身已有内存 delete[] m_pData; m_pData=NULL; //在删除自身内存以后在重新new一个长度为len+1的字符数组,类似拷贝构造函数 int len=strlen(str.m_pData); m_pData=new char[len+1]; strcpy(m_pData,str.m_pData); 来源: https://www.cnblogs.com/clemente/p/12368138.html

C++多字节与Unicode之间的转化

℡╲_俬逩灬. 提交于 2020-02-26 11:58:47
Unicode Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。 char数据类型 C程序中使用char数据类型来定义和存储字符和字符串 下面的声明定义和初始化一个包含单一字符的变量: char c = 'A' ; 定义一个指向字符串的指针: char * p ; 因为Windows是一个32位的操作系统,指针变量p需要4个字节的存储空间。还可以如下初始化一个指向字符串的指针: char * p = "Hello!" ; 更宽的字符 使用Unicode或者是宽字符并不会改变C语言中的字符数据类型。char类型继续代表一个字节的存储空间,而且sizeof(char)继续返回1.理论上来说,C语言中的一个字节可能长于8位,但是对于大多数人来说,一个字节(因而就是一个char)是8位宽。 C语言中的宽字符是基于wchar_t数据类型的。这个数据类型被定义在多个头文件中,包括WCHAR.H,如下所示: typedef unsingned short wchar_t ; 因此,wchar_t数据类型和一个无符号短整型一样,都是16位宽。 可以用下面的语句来定义一个包含单个宽字符的变量

《C语言》 —— 数组详解

久未见 提交于 2020-02-26 03:05:41
书籍使我变成了一个幸福的人,使我的生活变成轻松而舒适的诗。——高尔基 本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues。 https://github.com/midou-tech/articles 前言  我本来准备C语言章节就写个指针就ok了,在我看来C语言的精华部分就是指针了。但是有很多同学就开始在群里各种拉扯C语言的其他问题,没办法,我是龙叔嘛,想想还是整理一下,把一些重要的C语言知识点都一一更新了吧。C语言指针的内容请点击 指针(上) 和 指针(下) , 记得点关注,不迷路 数组的基本概念  我们把一组数据的集合称为 数组(Array) ,它所包含的每一个数据叫做 数组元素 (Element),所包含的数据的个数称为 数组长度 (Length),数组中的每个元素都有一个序号,这个序号从0开始,而不是从我们熟悉的1开始,称为 下标 (Index),所包含数组的里面元素的类型叫做 数组类型 (Type)。  一句话就说清楚了数组的基本概念,就是这么简单,^_^。 数组底层结构探析 int array[5]; 内存布局图  不要看这个图简单,底层就是这样的。数组是一个整体,它的内存是 连续 的;也就是说,数组元素之间是相互挨着的,彼此之间没有一点点缝隙。   这一点很重要,连续的内存为 指针 操作(通过指针来访问数组元素)和内存处理(整块内存的复制、写入等

linux网络多线程编程实例

让人想犯罪 __ 提交于 2020-02-24 14:43:06
用的是UDP方式。 服务器能同时接受十个客户端,各个客户端可以相互点对点通讯;可以对所有连到 服务器的客户端广播;也可以和服务器通讯。服务器也可以广播。 运行时你要先看懂源代码中的命令: "/w " 广播 ; "/s n " 对某个客户端; "/sv "对服务器; 命令是引号中的部分,注意空格。 服务端代码: #include<sys/stat.h> #include<fcntl.h> #include<unistd.h> #include<sys/types.h> #include<sys/socket.h> #include <sys/wait.h> #include <netinet/in.h> #include<arpa/inet.h> #include<stdio.h> #include<string.h> #include<stdlib.h> #include <pthread.h> #define PORT 8889 #define max_size 256 ///////////////////////////////////////////////////////// int sockfd,sockfd2[10],ret,i=0,j,flag=0; struct sockaddr_in addr; struct sockaddr_in addr2[10]; int

sizeof与strlen的区别及运用

喜欢而已 提交于 2020-02-21 22:29:37
sizeof与strlen是有着本质的区别,sizeof是求数据类型所占的空间大小,而strlen是求字符串的长度,字符串以/0结尾。 sizeof是一个C语言中的一个关键字,求的是数据类型所占空间的大小,而strlen是一个函数,用来计算字符串的长度,遇见/0就结束。 #include <stdio.h> int main(void) { char a[] = "abcdefg"; int b[4]; int m, n,u; m = sizeof(a); n = strlen(a); u = sizeof(b); printf("m=%d\n",m); printf("n=%d\n",n); printf("u=%d\n",u); return 0; } 运行结果: m=8 //计算的是数组a所占用的空间大小,包括结束符/0 n=7 //计算的是数组a中字符串的长度,不包括结束符/0 u=16 //计算数组b占用的空间大小,int是4字节,所以4*4=16 来源: https://www.cnblogs.com/qwcblog/p/12343291.html

PHP实现各种经典算法

℡╲_俬逩灬. 提交于 2020-02-19 10:35:29
<? //-------------------- // 基本数据结构算法 //-------------------- //二分查找(数组里查找某个元素) function bin_sch($array, $low, $high, $k){ if ( $low <= $high){ $mid = intval(($low+$high)/2 ); if ($array[$mid] == $k){ return $mid; }elseif ( $k < $array[$mid]){ return bin_sch($array, $low, $mid-1, $k); }else{ return bin_sch($array, $mid+ 1, $high, $k); } } return -1; } //顺序查找(数组里查找某个元素) function seq_sch($array, $n, $k){ $array[$n] = $k; for($i=0; $i<$n; $i++){ if( $array[$i]==$k){ break; } } if ($i<$n){ return $i; }else{ return -1; } } //线性表的删除(数组中实现) function delete_array_element($array , $i) { $len = count(