char函数

个人第四次博客作业——结对编程

橙三吉。 提交于 2019-12-01 07:18:18
Github项目地址 WordCount 合作同学作业链接 201731091317 Part 1. PSP表格 PSP2. Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 80 · Estimate · 估计这个任务需要多少时间 60 80 Development 开发 700 785 · Analysis · 需求分析 (包括学习新技术) 60 45 · Design Spec · 生成设计文档 30 45 · Design Review · 设计复审 (和同事审核设计文档) 30 30 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 30 25 · Design · 具体设计 40 40 · Coding · 具体编码 300 400 · Code Review · 代码复审 90 80 · Test · 测试(自我测试,修改代码,提交修改) 90 120 Reporting 报告 90 120 · Test Report · 测试报告 30 60 · Size Measurement · 计算工作量 30 40 · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 30 20 合计 850 985

结对编程

廉价感情. 提交于 2019-12-01 07:06:31
代码设计 1.功能分析 打印出文件中的字符总数,有效行数,英文字母数,字母数字数,空格数,出现次数最多的10个单词。 2.编译器 VCExpress2010学习板(注意编译器,fopen,和头文件不同编译器可能不一样) 3.设计思路 1.读取文件。fopen打开存在D盘上的input.txt文件,fgetc将字符读入,并创建一个链表,链表结点分别存char,和next。 struct link { char ch0; struct link *next; }; while((ch=fgetc(fp))!=EOF) { if((ch>=32&&ch<=126)||ch=='\n') { p=(struct link *)malloc(sizeof(struct link)); p->ch0=ch; p->next=NULL; s->next=p; s=s->next; } } 2.索引链表,得出字符数,空格数,字母数字数,英文字母数,并将其中英文字母数全部转为小写字母并赋值给muchuan。 while(a) { cout<<a->ch0; if(a->ch0>31&&a->ch0<127){zifushu++;} if(a->ch0==32) konggeshu++; if((a->ch0<58&&a->ch0>46)||(a->ch0<91&&a->ch0>64)||(a-

Sword 第三方库介绍二

懵懂的女人 提交于 2019-12-01 07:03:54
/* uuid生成 */ #include <stdio.h> #include <stdlib.h> /* calloc()函数头文件 */ #include <assert.h> #include "uuid.h" void test() { uuid_t uuid; char *pcOut = NULL; /* 设计说明: uuid一般是36个字节 */ //1.分配内存 pcOut = (char *)calloc(37, sizeof(char)); assert(pcOut); //2.创建uuid uuid_generate(uuid); //3.转化成字符串 uuid_unparse(uuid, pcOut); //4.打印uuid printf("====uuid [%s]====\n", pcOut); //5.释放内存 free(pcOut); pcOut = NULL; } int main() { test(); return 0; } 来源: https://www.cnblogs.com/zhanggaofeng/p/11666066.html

3-3-3 字符串类型

最后都变了- 提交于 2019-12-01 06:53:52
字符类型 #官网:https://dev.mysql.com/doc/refman/5.7/en/char.html #注意:char和varchar括号内的参数指的都是字符的长度 #char类型:定长,简单粗暴,浪费空间,存取速度快 字符长度范围:0-255(一个中文是一个字符,是utf8编码的3个字节) 存储: 存储char类型的值时,会往右填充空格来满足长度 例如:指定长度为10,存>10个字符则报错,存<10个字符则用空格填充直到凑够10个字符存储 检索: 在检索或者说查询时,查出的结果会自动删除尾部的空格,除非我们打开pad_char_to_full_length SQL模式(SET sql_mode = 'PAD_CHAR_TO_FULL_LENGTH';) #varchar类型:变长,精准,节省空间,存取速度慢 字符长度范围:0-65535(如果大于21845会提示用其他类型 。mysql行最大限制为65535字节,字符编码为utf-8:https://dev.mysql.com/doc/refman/5.7/en/column-count-limit.html) 存储: varchar类型存储数据的真实内容,不会用空格填充,如果'ab ',尾部的空格也会被存起来 强调:varchar类型会在真实数据前加1-2Bytes的前缀,该前缀用来表示真实数据的bytes字节数

[c++基础]标准算法

二次信任 提交于 2019-12-01 05:41:45
fill fill_n generate and generate_n //fig16_01.cpp //fill fill_n generate and generate_n #include <iostream> #include <algorithm> #include <array> #include <iterator> using namespace std; char nextLetter() { static char letter = 'A';//static return letter++; } int main() { array<char, 10>chars; ostream_iterator<char> output(cout, " "); fill(chars.begin(), chars.end(), '5'); //array有10个值,所以填充10个5 cout << "\nAfter filling withs 5:"; copy(chars.cbegin(), chars.cend(), output); cout << endl;//5 5 5 5 5 5 5 5 5 5 //从开始处,填充5个A,改变了原先的值 fill_n(chars.begin(), 5, 'A'); cout << "\nAfter fill_n withs A:";

C++继承方式

南楼画角 提交于 2019-12-01 05:28:59
C++的继承方式有三种,分别为: 公有继承:public 私有继承:private 保护继承:protected 定义格式为: class<派生类名>:<继承方式><基类名> { <派生类新定义成员> }; 我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。 在公有继承(public)时, 基类的公有成员和保护成员作为派生类的成员时, 它们都保持原有的状态,而基类的私有成员仍然是私有的,不能 被这个派生类的子类所访问。 #include<iostream> using namespace std; class People { private: char *name = NULL; int ID; char *gender = NULL; float height; public: People(); People(char Name[], int id, char Gender[], float Height, char Address[]); int GetID(); float Getheight(); void DisplayPeople(); char* Getname(); char* Getgender(); char* Getaddress(); protected: char *address = NULL; };

编译原理第五次作业

廉价感情. 提交于 2019-12-01 05:01:22
词法分析程序( Lexical Analyzer )要求: - 从左至右扫描构成源程序的字符流 - 识别出有词法意义的单词( Lexemes ) - 返回单词记录(单词类别,单词本身) - 滤掉空格 - 跳过注释 - 发现词法错误 程序结构: 输入:字符流(什么输入方式,什么数据结构保存) 处理: –遍历(什么遍历方式) –词法规则 输出:单词流(什么输出形式) –二元组 单词类别: 1.标识符(10) 2.无符号数(11) 3.保留字(一词一码) 4.运算符(一词一码) 5.界符(一词一码) 单词符号 种别码 单词符号 种别码 begin 1 : 17 if 2 := 18 then 3 < 20 while 4 <= 21 do 5 <> 22 end 6 > 23 l(l|d)* 10 >= 24 dd* 11 = 25 + 13 ; 26 - 14 ( 27 * 15 ) 28 / 16 # 0      首先先说下我的思路,先建立map<string, string> m;存储符号及其种别码 map<string, string> m; void init(){ m["begin"]="1"; m["if"]="2"; m["then"]="3"; m["while"]="4"; m["do"]="5"; m["end"]="6"; m["+"]="13"; m["-"]

redis源码分析1---结构体---简单动态字符串sds

谁说胖子不能爱 提交于 2019-12-01 03:23:06
redis源码分析1---结构体---简单动态字符串sds   redis的底层数据结构主要有简单动态字符串,链表,字典,跳跃表,整数集合,压缩列表,对象等组成。 这些数据结构的实现直接影响redis的表现效果,所以第一部分我先打算从这几个角度来对redis的底层数据结构 从源码上进行分析,具体的实现等。 1 SDS定义 redis大量的数据表现都是以字符串的形式。redis中使用了自己定义的字符串结构,我们先从整体上理解这一部分是怎么样实现的。 首先sds的声明如下 SDS中声明了长度,剩余空间,异界用于保存字符串的数组; 举例说明 那么打印字符串的内存,就直接使用这样的语句 printf("%s",s->buf)。 2 SDS和C字符串的区别 既然在结构体SDS增加了两个属性,那么区别就很明显了 区别1)常数复杂度获取字符串长度 区别2)杜绝缓冲区溢出 SDS在在数据处理之前会先检查空间是否足够,不够再分配; 区别3)减少修改字符串时带来的内存重新分配 这个点我们一般都不打能做好,涉及到内存的分配就容易出现这样的问题,为什么会遇到这样的问题? 因为: 那么redis是如何解决的呢? ①空间预分配 当对SDS进行修改的时候,分配方式如下: ②惰性空间释放 顾名思义,就是晚一点释放;具体的做法是当SDS的API需要缩短SDS保存的字符串时

oracle 获取某个时间

旧街凉风 提交于 2019-12-01 02:46:54
1、获取前一自然日:select to_char(TRUNC(to_date(20190101,'yyyy-mm-dd')-1),'yyyymmdd') from dual; 2、以下引用自: https://blog.csdn.net/wangchangpen62/article/details/46548893 –前一天的开始时刻 SELECT to_date(to_char(TRUNC(SYSDATE-1),’yyyy-mm-dd’) || ‘00:00:00’,’yyyy-mm-dd hh24:mi:ss’) FROM DUAL; –前一天的最后时刻 SELECT to_date(to_char(TRUNC(SYSDATE-1),’yyyy-mm-dd’) || ‘23:59:59’,’yyyy-mm-dd hh24:mi:ss’) FROM DUAL; –上个月第一天的最后时刻 select to_date(to_char(add_months(trunc(sysdate),-1),’yyyy-mm’) || ‘01 23:59:59’,’yyyy-mm-dd hh24:mi:ss’)from dual; –上个月的第一天 SELECT to_date(to_char(TRUNC(SYSDATE-1),’yyyymm’) || ‘01’,’yyyy-mm-dd’)

关于链式表达式

十年热恋 提交于 2019-12-01 02:13:33
就是为了后来函数调用者方便而设计的.不用你这么麻烦用上述方法去使用了,而直接可以使用拷贝后的dest字符串了.这种方便的实现方法,看起来就是链子链在一起的,所以称为 链式表达式 已知strcpy函数的原型是 char *strcpy(char *strDest, const char *strSrc); 其中strDest是目的字符串,strSrc是源字符串。 (1)不调用C++/C的字符串库函数,请编写函数 strcpy char *strcpy(char *strDest, const char *strSrc); { assert((strDest!=NULL) && (strSrc !=NULL)); // 2分 char *address = strDest; // 2分 while( (*strDest++ = * strSrc++) != ‘\0’ ) // 2分 NULL ; return address ; // 2分 } (2)strcpy能把strSrc的内容复制到strDest,为什么还要char * 类型的返回值? 答:为了实现链式表达式。 // 2分 例如 int length = strlen( strcpy( strDest, “hello world”) ); --------------------------------------------