char

结构体里面的字符数组和字符指针该怎么赋值?

会有一股神秘感。 提交于 2020-03-03 10:29:47
文章目录 1.C语言 结构体指针赋值 incompatible types when assigning to type 'char[20]' from type 'char *' 1.C语言 结构体指针赋值 incompatible types when assigning to type ‘char[20]’ from type ‘char *’ strcpy(pstudent->name, "guo zhao wei "); 为什么错误,该怎么写,(红色行) 追问 为什么不能直接赋值啊, 追答 用char nnnn [ 20 ] 定义的,用strcpy 用char * ppp定义的,用 = 来赋值 参考: C语言 结构体指针赋值 incompatible types when assigning to type 'char[20]' from type 'char *' https : // www . cnblogs . com / phpxuetang / p / 5978305. html 来源: CSDN 作者: 假如我年少有为不自卑~ 链接: https://blog.csdn.net/u011436427/article/details/104625228

muduo网络库学习——日志系统

允我心安 提交于 2020-03-03 00:51:41
日志的使用方式: LOG_INFO << "AAA"; LOG_INFO是一个宏,展开后为: muduo::Logger(__FILE__, __LINE__).stream() << "AAA"; 构造了一个匿名对象Logger,在这个对象构造的时候其实已经写入了文件名和行号。 匿名对象调用.stream()函数拿到一个LogStream对象,由这个LogStream对象重载<<将“AAA”写入LogStream的数据成员FixBuffer对象的data_缓冲区内。 匿名对象在这条语句执行完毕以后会被销毁,因此会调用~muduo::Logger()函数将日志消息输出至目的地(标准输出或者磁盘的日志文件); 日志的流程: Logger——Impl——LogStream——operator<<——LogStream的FixBuffer内——g_output——g_flush 高性能日志(异步日志)所在: 由于磁盘IO是移动磁头的方式来记录文件的,其速度与CPU运行速度并不在一个数量级上。因此业务线程中应该避免进行磁盘IO以防止业务得不到及时的处理。 在多线程程序中,业务线程应该专注与其业务逻辑的运算,用另外一个独立的线程来将日志消息写入磁盘。 在muduo的日志系统中,分为前端和后端。前端是业务线程产生一条条的日志消息。后端是日志线程,将日志消息写入文件。 业务线程有多个

C++--Dll Injection Tutorial

本秂侑毒 提交于 2020-03-02 22:50:18
Introduction The CreateRemoteThread method The SetWindowsHookEx method The code cave method Appendix A - Methods of obtaining a process ID Appendix B - Methods of obtaining a thread ID Appendix C - Complete CreateRemoteThread example source code Appendix D - Complete SetWindowsHookEx example source code Appendix E - Complete code cave example source code Introduction In this tutorial i'll try to cover all of the known methods(or at least, those that I know =p) of injecting dll's into a process. Dll injection is incredibly useful for TONS of stuff(game hacking, function hooking, code patching,

LeetCode: 221_Maximal Square | 二维0-1矩阵中计算包含1的最大正方形的面积 | Medium

微笑、不失礼 提交于 2020-03-02 21:49:13
题目: Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and return its area. For example, given the following matrix: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 Return 4. 解题思路:   这种包含最大、最小等含优化的字眼时,一般都需要用到动态规划进行求解。本题求面积我们可以转化为求边长,由于是正方形,因此可以根据正方形的四个角的坐标写出动态规划的转移方程式(画一个图,从左上角推到右下角,很容易理解): dp[i][j] = min(dp[i-1][j-1], dp[i-1][j], dp[i][j-1]) + 1; where matrix[i][j] == 1 根据此方程,就可以写出如下的代码: 代码展示: 1 #include <iostream> 2 #include <vector> 3 #include <cstring> 4 using namespace std; 5 6 //dp[i][j] = min(dp[i-1][j-1], dp[i-1][j], dp[i][j-1]) + 1; 7 //where matrix[i

Android.Hook框架Cydia篇

∥☆過路亽.° 提交于 2020-03-02 19:49:23
Cydia Substrate是一个代码修改平台.它可以修改任何主进程的代码,不管是用Java还是C/C++(native代码)编写的.而Xposed只支持HOOK app_process中的java函数,因此Cydia Substrate是一款强大而实用的HOOK工具. 官网地址:http://www.cydiasubstrate.com/ 官方教程:http://www.cydiasubstrate.com/id/38be592b-bda7-4dd2-b049-cec44ef7a73b SDK下载地址:http://asdk.cydiasubstrate.com/zips/cydia_substrate-r2.zip 0x00Hook Java 层 之前讲解过 xposed 的用法为啥还要整这个了,下面简单对比两款框架.想了解之前 xposed 篇的可以看这里: http://drops.wooyun.org/tips/7488 劣势 : 没啥错误提醒,排错比较麻烦. 需要对 NDK 开发有一定了解,相对 xposed 模块的开发学习成本高一些. 因为不开源网上(github)上可以参考的模块代码很少. 优势: 可以对 native 函数进行 hook . 与 xposed hook 原理不一样,因为不是开源具体原理我也不清楚. 结果就是一些Anti hook 可能对

MySQL 中的数据类型介绍

。_饼干妹妹 提交于 2020-03-02 19:32:16
1、概述 要了解一个数据库,我们也必须了解其支持的数据类型。 MySQL支持所有标准的SQL数据类型,主要分3类: 数值类型 字符串类型 时间日期类型 另一类是几何数据类型,用的不多,也没多介绍。 下面大、小标题后括号内的数组表示其含有的类型个数。下面所有结论都经过本人使用MySql Workbench编写SQL验证过或来自官网。 2、数值类型(12) 2.1、整数类型(6) 一张图就能解释清楚了: INTEGER同INT。 2.2、定点数(2) DECIMAL和NUMERIC类型在MySQL中视为相同的类型。它们用于保存必须为确切精度的值。 使用方式如下: salary DECIMAL(5,2) 下面的介绍将基于上面这个例子。 我们看到其中有两个参数,即DECIMAL(M,D),其中M表示十进制数字总的个数,D表示小数点后面数字的位数,上例中的取值范围为-999.99~999.99。 如果存储时,整数部分超出了范围(如上面的例子中,添加数值为1000.01),MySql就会报错,不允许存这样的值。 如果存储时,小数点部分若超出范围,就分以下情况: 若四舍五入后,整数部分没有超出范围,则只警告,但能成功操作并四舍五入删除多余的小数位后保存。如999.994实际被保存为999.99。 若四舍五入后,整数部分超出范围,则MySql报错,并拒绝处理。如999.995和-999

数据类型转换

一个人想着一个人 提交于 2020-03-02 17:57:09
//Byte数组转CString CString Communal::ByteArrayToCString(CByteArray* btArray) { CString cs1,str; cs1.Empty(); int lon = btArray->GetCount(); for (int i = 0;i<lon;i++) { unsigned char x = (unsigned char)btArray->GetAt(i); str.Format("%02x",x); cs1+=str.MakeUpper(); } return cs1; } //短整型数据转Byte数组 //unsigned char* Communal::int16ToBytes(short int n) //{ // unsigned char* pBuffer; // pBuffer = new unsigned char[2]; // int num = n & 0xFFFF; // pBuffer[0] = (byte)(num >> 8); // pBuffer[1] = (byte)(num & 0x00FF); // return pBuffer; //} ////整型数据转Byte数组 //unsigned char* Communal::int32ToBytes(int n) //{ /

数据库-Oracle学习笔记(4)

≯℡__Kan透↙ 提交于 2020-03-02 15:07:58
Oracle字符串操作 字符串类型:char类型和varchar2类型 char类型 char类型存放的是定长字符,存不满补空格; char最大取值是2000字节,也就是最多保存2000个英文字符,1000个汉字; char可以不指定长度,默认为1,例如loc char等价于loc char(1)。 varchar2类型 varchar2类型存放的是变长字符,存多少占用多少; varchar2最大取值是4000字节,也就是最多保存4000个英文字符,2000个汉字; varchar2必须指定长度,如果loc varchar2这样写是错误的。 字符串函数 concat和 || 函数 语法1:concat(str1,str2),将两个字符串进行连接 concat(‘a’,’b’) -->’ab’ select * from emp; 查询表中所有列 select ename, sal from emp; 查询表中ename列,和sal列 select concat(ename, '的工资是:') from emp; -->SMITH的工资是: SMITH的工资是: sal ---> SMITH的工资是800 select concat(concat(ename,'的工资是:'), sal) from emp; 语法2: || 等价于concat函数,str1 || str2

sql--DQL_函数

巧了我就是萌 提交于 2020-03-02 11:38:32
一、函数的分类: 1、单行函数: 输入一行数据,每一行都会返回一个结果。 a、字符函数 :输入的是字符,返回的也是字符 常见的函数(upper 、lower、initcap首字母大写、concat、length(按字符来统计)、lengthb(按字节的方式来统计)、lengthc(按照的是unique码统计)、substr、instr、trim、ltrim、rtrim、replace b、数值函数:abs, mod, trunc, round, ceil ,floor c、日期函数 :输入的是一个日期返回的是日期或数值 sysdate , months_between (距某个日期相隔了几个月),add_months , next_day, last_day ,trunc d、转换函数 :to_char , to_number, to_date e、通用函数 :nvl , nvl2 ,nullif f、分支函数 : decode() ,case...when...then g、正则表达式函数 :regexp_substr,regexp_instr,regexp_like 2、多行函数/聚合函数/分组函数: 输入多行,返回的结果为一行 count(),sum(),avg()平均值,max(),min(),group by 分组, having 分组或筛选,rollup滚动函数

使用PyGtk Pixbuf及freetype-py 显示文本

爱⌒轻易说出口 提交于 2020-03-02 11:36:45
使用PyGtk Pixbuf及freetype-py 显示文本 计算机上显示文本的过程大体上是,先将文本转换成一个一个的bitmap,然后再用图形系统将这些bitmap显示出来。freetype是一个open source的字体引擎,它完成的工作即是将字符转换成bitmap。freetype-py是一个freetype的python绑定,为我们在Python code中使用Freetype接口提供便利。 我们可以结合PyGtk所提供的Pixbuf对象,一些操作像素的方法,PyGtk所提供的窗口管理系统,及freetype转换字符到bitmap的方法,来显示字符。这个过程的code可以像下面这样: #!/usr/bin/python ''' author: Wolf-CS website: http://my.oschina.net/wolfcs/blog last edited: May 2013 ''' import gtk, gtk.gdk import cairo import freetype import ctypes.util from ctypes import * class ColorMap: ''' A colormap is used to map scalar values to colors. It is build by adding couples