随笔分类 - C C++
C C++
摘要:mencoder -oac mp3lame -lameopts aq=7:cbr:br=128 -srate 44100 -vf scale=width:height,harddup -ovc x264 -x264encopts bitrate=320:pass=2 InputFile -o OutputFile//视频滤镜... -vf ...,eq=B:C,...harddup ... B=亮度,C=对比度... -vf ...,rotate=R,...harddup ... R=旋转方式(0,逆时针90度。1,顺时针90度。)... -vf ...,mirror,...harddup .
阅读全文
摘要:一、0.0.0.0 严格说来,0.0.0.0已经不是一个真正意义上的IP地址了。它表示的是这样一个集合:所有不清楚的主机和目的网络。这里的“不清楚”是指在本机的路由表里没有特定条目指明如何到达。对本机来说,它就是一个“收容所”,所有不认识的“三无”人员,一律送进去。如果你在网络设置中设置了缺省网关,那么Windows系统会自动产生一个目的地址为0.0.0.0的缺省路由。 二、255.255.255.255 限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机。如果翻译成人类的语言,应该是这样:“这个房间里的所有人都注意了!”这个地址不能被路由器转发。 三、127.0.0.1 本
阅读全文
摘要:(1)单播 一对一(2)组播/广播 一对多 单点发送 多点接受 固定地址范围根据internet NIC关于IP地址的规定,IP地址共分为A-E 共5类,其中A-C类目前应用的普通IP地址,E类地址保留为将来使用,D 类地址即为组播地址,其网络号为固定的1110(第0~3位),第4~31位定义了某一特殊的组播地址,范围为 224.0.0.0~239.255.255.255,共有228个约27亿个地址。 本文来自: (http://www.91linux.com/) 详细出处参考:http://www.91linux.com/html/article/network/20080616/1257.
阅读全文
摘要:(1)无参宏定义 #define D_SCREEN_LEFT 0 #define D_SCREEN_TOP0#define D_SCREEN_RIGHT1280#define D_SCREEN_BOTTOM720调用示例:printf("%d*%d\n",D_SCREEN_RIGHT,D_SCREEN_BOTTOM);(2)带参宏定义 #define SECS_TO_DAYS(secs) ((secs / 3600) / 24) //将秒转换成天#define MIN(a, b)((a)<(b)?(a):(b))//取最小值#define MAX(a, b)((a)&
阅读全文
摘要:各种位运算的使用1. & 运算二进制中1 & 1 = 11 & 0 = 00 & 0 = 00 & 1 = 0& 运算通常用于二进制取位操作,例如一个数 & 1的结果就是取二进制的最末位。这可以用来判断一个整数的奇偶,二进制的最末位为0表示该数为偶数,最末位为1表示该数为奇数.2. | 运算| 运算通常用于二进制特定位上的无条件赋值,例如一个数 | 1的结果就是把二进制最末位强行变成1。如果需要把二进制最末位变成0,对这个数 | 1之后再减一就可以了,其实际意义就是把这个数强行变成最接近的偶数。3. ^ 运算^ 运算通常用于对二进制的特定
阅读全文
摘要:void main(void){ int src=54; int pwd=32; int dst=0; dst=src^pwd; printf(" Encryption: %d\n",dst); src=dst^pwd; printf(" Decryption: %d\n",src);} 异或一次就加密了,再异或一次又还原了.实际应用中,常用此方法拓展结合MAC地址加密解密文件,如下:bool file_encrypt(char* data, int fmoive_type){if( fd == NULL ){return false;}else{cha
阅读全文
摘要:Linux 的目录结构如图1.14 所示。 下面以Red Hat Enterprise 4 AS 为例,详细列出了Linux 文件系统中各主要目录的存放内容。 /bin bin 就是二进制(binary)英文缩写。在这里存放前面Linux 常用操作命令的执行文件, 如mv、ls、mkdir 等。有时,这个目录的内容和/usr/bin 里面的内容一样,它们都是放置一般用户使用的执行文件。 /boot 这个目录下存放操作系统启动时所要用到的程序。如启动grub 就会用到其下的/boot/grub 子目录。 /dev 该目录中包含了所有Linux 系统中使用的外部设备。要注意的是,这里并不是...
阅读全文
摘要:http://blog.csdn.net/zhenyusoso/article/details/60953542010-12-22 22:10 2044人阅读 评论(9) 收藏 举报 图1为线性表(ZHAO, QIAN, SUN, LI, ZHOU, WU, ZHENG, WANG)的逻辑状态。头指针 指示链表中第一个结点(即第一个数据元素的存储映像)的存储位置。同时,由于最后一个数据元素没有直接后继,则线性链表中最后一个结点的指针为“空”(NULL)。 图1 线性链表的逻辑状态 由上述描述可见,单链表可由头指针来唯一确定,在C语言中可用“结构指针”来描述。 view plaincopy...
阅读全文
摘要:char s[]="ABCDEFGHJKL";printf("%%%20s%%\n",s);//%%打印输出% %20s打印输出20长度字符宽度不够补0,默认往右对齐。printf("%%%-20s%%\n",s);//%-20s打印输出20长度字符宽度不够补空格,-表示往左对齐。printf("%%%+20s%%\n",s);//%+20s打印输出20长度字符宽度不够补空格,+表示往右对齐。printf("%%%020s%%\n",s);//%020s打印输出20长度字符宽度不够补0,020表
阅读全文
摘要:[ 2010-05-09 20:08:47 | 作者: yuhen ] 相关 API 信息可参考官方 帮助手册。测试代码:#include <sqlite3.h>void exec(sqlite3* db, const char* sql){ sqlite3_stmt* stmt; if (sqlite3_prepare(db, sql, strlen(sql), &stmt, NULL) == SQLITE_OK) { sqlite3_step(stmt); } else { printf("%s\n", sqlite3_err...
阅读全文
摘要://清空left空字符static char * trim_left(char *buf){int len,i;char * tmp = NULL;len = strlen(buf);if(len==0){return buf;}tmp = (char*)malloc(len);memset(tmp,0x00,len);for(i = 0;i < len;i++){if (buf[i] !=' '){break;}}if (i < len) {strncpy(tmp,(buf+i),(len-i)); /*i is the number of space in th
阅读全文
摘要:前段时间用C写了一个程式,发现3年前学的C的基本语法都忘得差不多了。下面的格式化字符,我觉得值得我写个随笔,免得下次再写时,忘记了。格式字符控制:说明:sprintf(格式化后的字符,"%(长度)格式符",格式化前的字符);1、 d格式符。用来输出十进制数。有以下几种用法:(1)、%d按整数的实际长度输出。(2)、%md,m为指定的输出字段的宽度。如果数据位数小于m,则左端补以空格,若大于m,则按实际位数输出。(3)、%ld,输出长整型数据。例:long a=135790;printf(“%ld”,a);如果用%d输出就会发生错误,因为整型数据的范围是-32768到3276
阅读全文
摘要:#include <stdio.h>#include <stdlib.h>#include <ctype.h>//结点类型typedef struct student{void *data;struct student* next;}student;//链表类型typedef struct studentlist{student* head;student* current;student* tail;int size;}studentlist;studentlist* linked_list_construct(){studentlist* list=NU
阅读全文
摘要:argv: 指针的指针argc: 整数char **argv or char *argv[] or char argv[][]为了能形象的说明这两个参数的含义,我们先用一个实例来进行讲解:假设程序的名称为test,当只输入test,则由操作系统传来的参数为:argc = 1,表示只有一程序名称;argc只有一个元素,argv[0]指向输入的程序路径及名称:./ test当输入test para_1,有一个参数,则由操作系统传来的参数为:argc = 2,表示除了程序名外还有一个参数;argv[0]指向输入的程序路径及名称;argv[1]指向参数para_1字符串当输入test para_1 p
阅读全文
摘要:(1)static 静态变量、静态函数。作用域只对本文件(xxx.c)有效,且静态函数声明不能出现在xxx.h头文件中上实战代码:/************************************************************************ 局部变量***********************************************************************/static D_TIMER_ID gui_tick_timer_id = -1;/*******************************************
阅读全文
摘要:#include <stdlib.h>/*标准库函数*/#include <stdio.h>/*I/O函数*/#include <string.h>/*字符串函数*/#include <ctype.h>/*字符操作函数*/#include "linkedlist.h"#include "hashtable.h"#include "queue.h"typedef struct student{ int id; char name[15];} student; //节点定义//链表的遍历vo
阅读全文
摘要:________________________c_list.h__________________#ifndef C_LIST_H#define C_LIST_H#ifndef ERR#define ERR -1#define OK 1#endif#ifndef MAX#define MAX 100#define MIN 0#endiftypedef int status;typedef int type;typedef struct listitem { type date;//节点数据 struct listitem *next;//指向下个节点 } list_node;//链表节点ty
阅读全文
摘要:开始结点:是指链表中的第一个结点,也就是没有直接前趋的那个结点。头指针:是一指向链表开始结点的指针(没有头结点时),单链表由头指针唯一确定,因此单链表可以用头指针的名字来命名。头结点:是在链表的开始结点之前附加的一个结点。有了头结点之后,头指针指向头结点,不论链表否为空,头指针总是非空。而且头指针的设置使得对链表的第一个位置上的操作与在表其他位置上的操作一致(都是在某一结点之后)。http://www.cnblogs.com/Jennifer/articles/2159484.htmlhttp://www.cnblogs.com/cpoint/archive/2010/12/20/191135
阅读全文
摘要://程式名:LinkStack.c//程式功能:链栈的实现//功能描述:置栈空、判栈空、压栈、出栈、取栈顶元素//http://student.zjzk.cn/course_ware/data_structure/web/xianxingbiao/xianxingbiao2.3.1.2.htm#include<stdio.h>#include<stdlib.h>//包含exit();typedefcharDataType;//假定数据类型为字符typedefstructstacknode{DataTypedata;structstacknode*next;}StackN
阅读全文
摘要:#ifndef DICTIONARY_H#define DICTIONARY_H#include "hashtable.h"typedef struct { HashTable *table;} Dictionary;Dictionary *dictionary_construct();void dictionary_destroy(Dictionary *dictionary);void dictionary_add_entry(Dictionary *dictionary, const char *key, const char *...
阅读全文