c++
江湖one Cat
认真工作的打工仔
展开
-
【C++】利用Unicode控制字符-RLO构造欺骗性文件后缀
普通的利用过程:1.准备已经生成好的exe程序。2.重命名该文件,右键,选择“插入unicode控制字符”→“RLO”3.将正序的文件名“gnp.scr”复制,直接粘贴进去,然后保存得到如下“rcs.png”一般利用过程首先我们把文件名改为1agnp.exe,然后重命名选中1a和gnp.exe,之间.右键“插入unicode控制字符”→“RLO”保存文件名,此时文件名显示为1aexe.png在代码中如何利用首先定义了一个name数组:BYTE...原创 2020-09-04 17:47:16 · 2053 阅读 · 0 评论 -
【逆向】【消息钩取】C++代码中的一些语法
1.typdeftypedef void(*PFN_HOOKSTART)();typedef void(*PFN_HOOKSTOP)();以前没见过typedef的这种用法,网上查了下:https://zhidao.baidu.com/question/245537970453469324.htmltypedef void (*p)();这里 是定义了一个函数指针类型 p之...原创 2019-11-15 14:44:31 · 179 阅读 · 0 评论 -
【C++】move() 右值的概念
https://www.jianshu.com/p/d19fc8447eaaC++中所有的值都必然属于左值、右值二者之一。左值是指表达式结束后依然存在的持久化对象,右值是指表达式结束时就不再存在的临时对象。所有的具名变量或者对象都是左值,而右值不具名。很难得到左值和右值的真正定义,但是有一个可以区分左值和右值的便捷方法:看能不能对表达式取地址,如果能,则为左值,否则为右值。对于...原创 2019-11-14 14:23:43 · 284 阅读 · 0 评论 -
【C++】关于日期的计算
代码:#include <cstdio>int month[13][2]={{0,0},{31,31},{28,29},{31,31},{30,30},{31,31},{30,30},{31,31},{31,31},{30,30},{31,31},{30,30},{31,31}};bool Isleap(int year){ return ((year%4==0...原创 2019-10-19 21:31:43 · 1315 阅读 · 0 评论 -
【C++】一些基础算法和注意的点【一】
目录1.冒泡排序2.memset()函数的用法:对数组填充0,-13.a[i]=getchar(),putchar(a[i])4.关于gets,puts,printf,puts1.冒泡排序#include <cstdio>int main(){ int a[5]={8,4,3,9,1}; for(int i=0;i<5;i++) ...原创 2019-10-18 13:36:13 · 263 阅读 · 0 评论 -
【C++】关于"^"的问题:是异或还是指数运算符和pow的返回值是double类型
之前在我的博客:https://blog.csdn.net/qq_43633973/article/details/100176902里面提到了一题:5.写一个加密程序,它通过cin从输入流中读入一段明文,通过cout将密文写到输出流,采用下面的简单加密方法:(1)通过命令行参数读入密钥key,它是一个字符(2)明文中字符c的密文为c^key[i](3)循环使用key的每个字符,直到...原创 2019-10-17 19:30:11 · 1776 阅读 · 0 评论 -
【C++】运算符重载 fraction示例
//1.整理并扩充本章中的fraction示例,补齐你认为尚缺的运算符函数声明fraction.h文件#ifndef fractionH#define fractionH#include <iostream>using namespace std;class fraction{ long num;//分子 long den;//分母 void...原创 2019-09-08 15:54:52 · 1448 阅读 · 0 评论 -
【C++】前缀++和后缀++的区别
因为现在在看典型运算符的重载,其中有对前缀++和后缀++的重载,又忘记了它们之间的区别,去论坛看了下得到了很好的理解,区别:引用论坛中博友的话:前缀就是自己本身+1后缀就是给一个没+1的副本使用对于这句话我大概理解到了,不过这针对的应该是返回值来说的。++i和i++连起来应该看是一个函数的缩写。可以对照运算符重载中对增量运算符的重载。然后又通过下面博友...原创 2019-09-07 20:34:03 · 9341 阅读 · 2 评论 -
【C++】继承和派生编程练习
1.建立普通基类Building,用来存储一座楼房的层数、房间数以及他的总平方数。建立派生类House,继承Building,并存储下面的内容:卧室与卧室的数量。另外,建立派生类Office,继承Buiding,并存储灭火器与电话的数目。下面是自己的解答过程,不是标准答案,但是自己调试没有问题。#include <iostream>using namespace std...原创 2019-09-06 21:53:44 · 2094 阅读 · 0 评论 -
【C++】类和对象编程练习——定义整数集合类
定义整数集合类intSet.该类包括以下成员函数: inSet(); //类的构造函数,根据需要可以定义多个构造函数 int Empty(); //清空该整数集合 bool Isempty(); //判断整数集合是否为空 bool Ismemberof(...原创 2019-09-05 16:44:43 · 9736 阅读 · 1 评论 -
【C++】类和对象编程练习(传引用)
1.试写出Time类的类声明及成员函数的实现。要求:在Time类中包含3个数据分量,即时(hour)、分(minute)和秒(second)。在类的成员函数中应包括存(用set开头)、取(用get开头)各个数据分量和完整时间的操作;按上下午各12小时或按24小时打印时间的函数;有默认值的构造函数等。默认值以0时0分0秒为准。自己写的代码(现在有问题)#include <iostre...原创 2019-09-04 16:36:18 · 1385 阅读 · 0 评论 -
【C++】习题函数部分
1.编写函数正整数的每个位上的数字逆序输出#include <iostream>using namespace std;void reverseDigit(int num){ int n=num,i=0; //判断num是几位数 while(n>0) { n=n/10; i++; } int a[100]; for(int j=0;j<i...原创 2019-08-31 21:55:08 · 1038 阅读 · 1 评论 -
【C++】winsocket编程_UDPchat(C++)
server端代码:#include <WinSock2.h>#include <iostream>using namespace std;void main(){ //加载套接字 WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested=MAKEWORD(2,2); er...原创 2019-04-17 19:33:48 · 385 阅读 · 0 评论 -
【C++】winsocket编程_UDP
UDP-SERVER端代码:#include <WinSock2.h>#include <iostream>using namespace std;void main(){ //加载套接字,调用WSAStartup() WORD wVersionRequested; wVersionRequested=MAKEWORD(2,2); WSADATA ws...原创 2019-04-17 19:33:42 · 275 阅读 · 0 评论 -
【C++】Windows socket编程 TCP通信
SERVER端代码:#include <Winsock2.h>#include <iostream>using namespace std;void main(){ /* 1.加载套接字库函数WSAstartup , 加载套接字库,进行套接字库的版本协商。 有两个参数,第一个是WORD,用来指定版本号。 第二个参数是返回值,指向WSAData结构体...原创 2019-04-17 19:33:23 · 715 阅读 · 0 评论