char函数

nginx开发_配置项

怎甘沉沦 提交于 2020-01-19 04:42:30
nginx开发笔记_配置项 模块的配置项即nginx.conf中的指令,HTTP模块指令可以分为三个级别: main级,直接写在http{}块中的指令 server级,写在server{}块中的指令 location级,写在location{}块中的指令 配置项定义模板 在自定义模块中使用配置项,需要配置ngx_module_t的commands属性以及ctx属性,并需要定义一个结构体用于存放配置信息。 常用的模板如下: /* 存放配置信息的自定义结构体 */ typedef struct { ngx_flag_t my_flag; } ngx_http_mytest_conf_t; /* 模块声明 */ ngx_module_t ngx_http_mytest_module = { NGX_MODULE_V1, &ngx_http_mytest_module_ctx, /* module context */ ngx_http_mytest_commands, /* module directives */ NGX_HTTP_MODULE, /* module type */ NULL, /* init master */ NULL, /* init module */ NULL, /* init process */ NULL, /* init thread */ NULL,

第七周作业

无人久伴 提交于 2020-01-19 03:27:41
★作业头★: 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 要求 我在这个课程的目标是 这个作业在那个具体方面帮助我实现目标 <字符串-=32> 参考文献 <---> 函数题: 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 输出样例: After changing: mY frienD iS happY 实验代码: void fun ( char *p ) { int i, n; n =

简单的文本文件加密小程序

久未见 提交于 2020-01-19 03:11:23
文件加密解密的学习 一. main 函数的命令行参数的使用 一个程序的 main() 函数的可以包括两个参数 第一个参数的类型为int型; 第二个参数为字符串数组。 通常情况下,将第一个参数命名为 argc ,第二个参数为 argv (当然参数名字可以换)。由于字符串数组有两种表达方式,因此,main函数存在两种书写方法: 形式一: int main ( int argc , char * argv [ ] ) //这里使用char* argv[] { return 0 ; } 形式二: int main ( int argc , char * * argv ) //这里使用char ** argv { return 0 ; } 注 : 其中 int argc 记录参数(及字符串)的个数 argc=1+用户输入的字符串的个数 , 操作系统负责计算数量若用户输入N个字符串,那么argc= N + 1 其中char* argv[]或char**argv指的是指向字符型指针数组的指针 , 首先它是一个指针 , 这个指针是指向数组的,而这个数组的成员也是指针 , 成员指针是指向字符型数组的。 注意 :操作系统会自动加入一条字符串(程序名称)到字符串数组中,因此,最终的字符串数数组长度为N+1。在代码编码使用字符串内容时,需要注意字符串的索引号 例如: argv[0]=可执行文件名称

Linux System Calls Hooking Method Summary

坚强是说给别人听的谎言 提交于 2020-01-19 02:57:33
1. 相关学习资料 http://xiaonieblog.com/?post=121 http://hbprotoss.github.io/posts/li-yong-ld_preloadjin-xing-hook.html http://www.catonmat.net/blog/simple-ld-preload-tutorial/ http://os.51cto.com/art/201004/195510.htm http://sebug.net/paper/pst_WebZine/pst_WebZine_0x03/html/%5BPSTZine%200x03%5D%5B0x03%5D%5B%E9%AB%98%E7%BA%A7Linux%20Kernel%20Inline%20Hook%E6%8A%80%E6%9C%AF%E5%88%86%E6%9E%90%E4%B8%8E%E5%AE%9E%E7%8E%B0%5D.html http://blog.chinaunix.net/uid-26310563-id-3175021.html http://laokaddk.blog.51cto.com/368606/d-26/p-2 http://m.blog.csdn.net/blog/panfengyun12345/19480567 https://www.kernel.org

C语言复习题

人盡茶涼 提交于 2020-01-19 02:13:43
一、选择题 1.源程序TEST.C经编译产生的目标文件和连接后产生的可执行文件是(B)。 A.TEST.BAK和TEST.OBJ B.TEST.OBJ和TEST.EXE C.TEST.EXE 和TEST.C D.TEST.BAK和TEST.EXE 2.以下选项中合法的实型常数是(C)。 A.5E2.0 B.E-3 C.2E0 D.1.3E 3.字符串“ABC”在内存中占用的字节数是(B)。 A.3 B.4 C.6 D.8 4.在C语言中,要求运算数必须是整型的运算符是(D)。 A./ B.++ C.!= D.% 5.若有以下类型说明语句:char w ; int x ; float y ; double z ; ,则表达式w * x + z - y的结果为(D)类型。 A.float B.char C.int D.Double 6.若x和y代表整型数,以下表达式中不能正确表示数学关系|x―y|<10的是(C)。 A.abs( x – y ) < 10 B.x – y > -10 && x – y < 10 C.!( x – y ) < -10 || !( y – x ) > 10 D.( x – y ) * ( x – y ) < 100 7.已知char a = ‘\103’ ;则语句printf( “%3d” , a ) ; 执行后的输出结果为(C)。 A.67 B.‘C’ C

部分错题记录

人走茶凉 提交于 2020-01-19 01:41:06
1.下面不能正确进行字符串赋值操作的是( )。 A: char s[6]={“ABCDE”}; B: char s[5]={‘A’,'B’,'C’,'D’,'E’}; C: char *s;s=”ABCDE”; D: char *s; scanf(“%s”,s); 标准答案:B 您的答案:C B选项应该为char s[6]={‘A’,'B’,'C’,‘D’,‘E’,’\0’}; 2.在c语言中,不允许有常量的数据类型是( ) (2分) A.整型 B.结构型 C.字符型 D.字符串 标准答案:B 您的答案:D 结构是用户自己建立的数据类型,没有常量 3.在C语言中,数字029是一个() A: 八进制数 B: 十六进制数 C: 十进制数 D: 非法数 标准答案:D 您的答案:C 八进制数以0开头,八进制数不能大于7 十六进制以ox开头,十六进制的数不能大于15,且10 ~ 15的数用A~ F或a~f来表示 4.以下程序有错,错误原因是___________。 main ( ) { int * p , i ; char * q , ch ; p = & i ; q = & ch ; * p = 40 ; p = q ; ┆ } A:p和q的类型不一致,不能执行p=q;语句 B: p中存放的是地址值,因此不能执行 p=40;语句 C: q没有指向具体的存储单元,所以*q没有实际意义 D:

C语言题目合集

点点圈 提交于 2020-01-19 01:40:12
标题:2019下期C语言题目 一、数组 1、函数strcmp从头至尾顺序地将其对应字符比较,遇到两个字符不等时,两个字符相减得到一个int型值,两个字符串完全相同时,则返回0。(正确) 【按ASCLL码值大小比较、直到出现不同的字符或遇到 ’ \ 0 ’ 为止、如果出现不相同的字符,则以第一对不同的字符的比较结果为准、在英文字典中位置在后面的为“大”,小写字母比大写字母大、相同—函数值为0;字符串1>字符串2—正整数;字符串1<字符串2—负整数】 2、指向数组元素的指针只可指向数组的首元素。(错误) 【不一定】 3、对于已正确定义的二维数组a, *(a[i]+j)与a[i][j]的含义相同。(正确) 【两种不同的写法,本质都是取那个地址存在的值】 4、如果strcmp(s1,s2)返回的结果为0,表示字符串s1和s2不相同。(错误) 【strcmp返回0是相同】 5、数组名就是一个指针常量,指向数组的首元素(或者说代表了数组的首地址)。(错误) 【array是数组首元素的首地址(和&array[0]一样),&array是整个数组array的首地址。array和&array的值是一样的。array[0]和array一样,都是数组首元素的首地址,所以+1后的结果也相同。数组名的值是个指针常量,也就是数组第一个元素的地址。】 6、在C语言中能逐个地使用下标变量,也能一次引用整个数组。

linux 中解析命令行参数 (getopt_long用法)

北城余情 提交于 2020-01-18 12:47:04
From http://blog.csdn.net/ast_224/article/details/3861625 getopt_long支持长选项的命令行解析,使用man getopt_long,得到其声明如下: #include <getopt.h> int getopt_long(int argc, char * const argv[], const char *optstring, const struct option *longopts, int *longindex); int getopt_long_only(int argc, char * const argv[], const char *optstring, const struct option *longopts, int *longindex); 说明:函数中的argc和argv通常直接从main()到两个参数传递而来。optsting是选项参数组成的字符串,如 果该字符串里任一字母后有冒号,那么这个选项就要求有参数。下一个参数是指向数组的指针,这个数组是 option结构数组,option结构称为长选项表,其声明如下: struct option { const char *name; int has_arg; int *flag; int val; }; 结构中的元素解释如下: const

第七周编程总结

落爺英雄遲暮 提交于 2020-01-18 05:17:36
这个作业属于哪门课程 C语言程序设计II 这个作业要求在哪里 https://i.cnblogs.com/EditPosts.aspx?opt=1 我在这个课程的目标是 熟练掌握指针的使用 参考文献 C语言程序设计II 基础作业 6-2 每个单词的最后一个字母改成大写 函数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 输出样例: After changing: mY frienD iS happY 设计思路: 实验代码: void fun( char *p ){

Tinyhttpd源码分析——超轻量级的HTTP服务器

倾然丶 夕夏残阳落幕 提交于 2020-01-18 05:13:11
前言 T inyhttpd是一个不到500行的超轻量 级的 Http Server, 通过阅读这里面的源码,可以帮助大家理解服务器程序的本质。这个项目比较适合刚学习Linux服务器开发或刚学网络编程的人,因为整个项目所涉及到的知识并不多。这里面的知识点不多,但是有几个小知识若是要细究的话,还是可以发现很多问题的。 下载地址: http://sourceforge.net/projects/tinyhttpd/ https://github.com/EZLippi/Tinyhttpd 源码阅读顺序: main -> startup -> accept_request -> execute_cgi, 了解 主要工作流程后再仔细把每个函数看一看。 工作流程 : (1) 服务器启动,在指定端口或随机选取端口绑定httpd服务。 (2) 收到一个HTTP请求时 ( 其实就是listen的端口accpet的时候 ) , 创建 一个线程运行accept_request函数。 (3) 取出HTTP请求中的method (GET或POST)和url。对于GET方法,如果有携带参数,则 query_string指针指向url中?后面的GET参数。 (4) 格式化url到path数组,表示浏览器请求的服务器文件路径,在tinyhttpd中服务器文件是在htdocs文件夹下。当url以 / 结尾