- 博客(17)
- 资源 (2)
- 收藏
- 关注
原创 Astyle 常用参数整理,经常需要集成到notepad++ 或者 si
例子 astyle *.cpp *.h -r -A1 -c -s4 -xV -S -N -xt4 -xW -w -xw -Y -p -U -xe -k3 -W3 -e -j -xg -JAStyle.exe --style=allman -s4 -S -p -c -xg -j -w -U -xb -f -Y “(FULLCURRENTPATH)""(FULL_CURRENT_PATH)" "(FULLCURRENTPATH)""(FULL_CURRENT_PATH)”-N 为命名空间增加缩进-
2022-03-18 09:16:11
1478
原创 使用python脚本解压ZIP或RAR
另外说一下的是,必须使用itertools库的product 而不是combinations 和 combinations_with_replacement ,因为密码可能有降序也可能重复.为了节约时间, 试凑时匹配到正确密码后解压压缩包只是解压之后一个文件,因为我们只是要密码, 解压可以出去解压工具解压, 也不会出现文件名乱码的问题.我本来想在open中判断密码的而不是用解压, 但是没实现出来, 各位可以再研究下库的源码…
2021-07-18 19:02:34
186
原创 数组是“二等公民”的话题
数组是“二等公民”数组不能直接赋值作为参数传递会退化为指针不能作为函数返回值数组不能直接赋值我们都知道,简单的变量类型,不如int 和 char ,是可以直接赋值的:int a = 1; int b = 2; b =a;//赋值操作但是如果是数组,int a[3] = {1,2,3}; int b[3] = {0}; 是无法操作a = b的。另外值得说明的是...
2018-09-05 14:04:06
428
原创 编译中重定义错误的处理--头文件的写法
###编译中重定义错误的处理 在编译代码的时候会有各种各样的错误,本文主要说下重定义的错误处理。这个大家应该都遇见过,无非就是变量或者函数定义重复了啊,对,简单来说就是这样的,经常出现先复制变量或者代码的时候忘记改名,这种根据题提示很好解,另外就是头文件书写错误时候会出现。###头文件的写法 这里给出正常的头文件(hh.h)的书写形式,我们写代码经常一个源文件.c与匹配一个头文
2017-06-13 19:46:51
3419
原创 宏定义中的 # , ##以及 _ _VA_ARGS_ _ 的作用
1. ‘#’假如希望在字符串中包含宏参数,ANSI C允许这样作,在类函数宏的替换部分,#符号用作一个预处理运算符,它可以把语言符号转化程字符串。例如,如果x是一个宏参量,那么#x可以把参数名转化成相应的字符串。该过程称为字符串化.#incldue <stdio.h>#define PSQR(x) printf("the square of" #x "is %d./n",(x)*(x))int
2017-06-12 22:00:57
338
原创 记录log宏定义可变参数的几种处理方式
用GCC和C99的可变参数宏, 可以更方便地打印调试信息,在gcc的预处理提供的可变参数宏定义非常方便,具体大致有以下3种方式。1. ##args#ifdef DEBUG #define dbgprint(format,args...) fprintf(stderr, format, ##args)#else #define dbgprint(format,args...)#en
2017-06-12 21:54:57
656
原创 gcc编译错误长期收集汇总
自己手写代码的时候感觉一切良好,但是在编译的时候会出现奇奇怪怪的错误,一大类是粗心造成的语法错误,还有就是编译条件 不满足导致,这个很多比如变量没定义,重定义等. 编译器一般会指出在哪个文件哪行出现错误,其实这已经很好定位了,要是明白编译器说的具体是什么情况导致编译不过,这样事情会好办的多!代码编译过是前提,编译不过的代码是没有意义的,另外提出一下,项目中提交代码一定要事先编译通过并进行自测,将自
2017-06-12 21:11:44
1938
原创 查询目录或文件是否存在
问题的引入在项目中可能会遇见查询某个路径或者文件是否存在的情况,如果不存在就新建。在看代码的时候发现有人这样实现:dir = opendir(g_logDir); if ( dir == NULLP ) { mkdir(g_logDir, O_RDWR); } else { closedir(dir); }对应文件的
2017-06-09 17:18:31
1732
原创 sprintf是一个很好的工具
案例之前有个想法就是我有一个double的浮点数,但是要转换成字符串,也就是说要 3.141592-->"3.121592",也不好意思先把小数点前后的值分别用itoa再拼起来的。当然,用sprintf格式化输入是个好办法!代码#include<stdio.h>void main(){ double dou = 123.14780; char sx[20]; sprin
2017-05-25 10:03:18
332
原创 强大的sscanf函数
函数原型int sscanf( const char *buffer, const char *format, [ argument ] … ); 参数说明buffer 存储的数据 format 窗体控件字符串。 有关详细信息,请参阅”格式规范”。 argument 可选自变量 locale 要使用的区域设置 头文件sscanf 说明ssca
2017-05-24 16:55:55
261
原创 获取linux系统中mem占用率 -- awk使用详解
获取linux系统中cpu以及mem占用率 – awk使用详解本文通过实现获取系统的cpu以及mem占用率为切入点,主要对awk命令的一些常用用法进行分析。awk命令awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。
2017-05-23 19:27:22
2346
原创 Shell脚本中倒计时应用 – echo用法详解
Shell脚本中倒计时应用 – echo用法详解本文实现了shell脚本中倒计时显示的功能,主要对echo进行全方位使用。目录用 [TOC]来生成目录:Shell脚本中倒计时应用 echo用法详解目录echo命令代码块运行结果解析echo命令参数:-e 激活转义符 -n 同行显示,不换行 使用 -e 选项时,可以带以下转义符:\b 删除前一个字符 \f
2017-05-23 16:44:26
5330
原创 shell脚本执行方法
bash shell 脚本的方法有多种,不同的方式也有差别之处。假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。 如下的简单shell脚本:先来看一个简单的shell脚本:#!/bin/shcd /tmpecho "hello,world!" 执行方式有如下4种:方法一:切换到shell
2017-02-09 08:36:38
8840
原创 由数字转换到子网掩码
在描述子网掩码时,我们经常用一个数字来表示,例如192.168.1.1/24,斜线'/'后的24就表示子网掩码为255.255.255.0,而在网络编程的代码中我们更是用一个u8来表示掩码,因为完全没有必要传递一个字符串来表示掩码(当然用u32也行,四个字节用点分开就是).这里我介绍一种简单的方法将n转换为点分十进制的掩码形式:#include#define LMOVE(m,n) ((m)
2017-01-04 18:22:20
5597
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人