自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阳光柠檬_的技术笔记

养成记录笔记的好习惯

  • 博客(22)
  • 资源 (6)
  • 收藏
  • 关注

转载 STL容器之deque

deque : 随机访问方便,即支持[ ] 操作符和vector.at() ,但性能没有vector 好; 可以在内部进行插入和删除操作,但性能不及list ;可以在两端进行push 、pop ;相对于verctor 占用更多的内存。 双向队列和向量很相似,但是它允许在容器头部快速插入和删除(就像在尾部一样)。五个构造函数:deque();//创建一个空双向队列

2013-10-31 14:34:56 781

转载 STL容器之list

list: 双链表,从任何地方快速插入与删除。 数据由若干个节点构成,每一个节点都包括一个信息块、一个前驱指针、一个后驱指针。不使用连续的内存空间这样可以随意地进行动态操作。可以在内部任何位置快速地插入或删除,当然也可以在两端进行push和pop。 不能进行内部的随机访问,不支持[]/vector.at()。 五个构造函数:list c0;//空

2013-10-31 14:15:41 711

转载 STL容器之vector

vector: 从后面快速的插入与删除,直接访问任何元素。可以看作动态数组。自动分配一块连续的内存空间进行数据存储。当存储的数据超过分配的空间时,会重新分配一块内存块:首先,会申请一块更大的内存块;然后,将原来的数据拷贝到新的内存块中;其次,销毁掉原内存块中的对象(调用对象的析构函数);最后,将原来的内存空间释放掉。 随机访问方便,支持[]/ve

2013-10-31 13:58:58 651

原创 STL标准容器中内容的几种打印技巧

copy()#include #include // Need random(), srandom()#include // Need time()#include // Need sort(), copy()#include // Need vector#include using namespace std;// Display

2013-10-31 11:48:21 1455

转载 Qt中QString,char,int,QByteArray之间的转换

QT中的数据格式QString 与 QByteArray ,有些API中的参数只能是其中的某一种。每每遇到这些,都要查找这些数据类型如何转换,这是以前在网上找到。转载过来,记录笔记方便以后查阅!各种数据类型的相互转换char* 与 constchar *的转换char*ch1="hello11";const char *ch2="hello22";ch2= ch

2013-10-31 11:22:10 1367

原创 QT使用UDP方式传输文件的关键代码

QT中使用UDP传输的核心代码:void Sender::sendData(){if (!file.atEnd()) {QByteArray line = file.read(8000);udpSocket->writeDatagram( line , QHostAddress("192.168.0.175"),7755);i++;qDebug() << "send over!

2013-10-31 11:14:08 14384 20

原创 [QT]Phonon多媒体编程

音乐播放的核心代码:Phonon::MediaObject *mo;mo = new Phonon::MediaObject();Phonon::AudioOutput *audioOutput =new Phonon::AudioOutput( Phonon::MusicCategory, this);Phonon::createPath(mo, audioOutput);

2013-10-31 11:12:22 1289

原创 [QT]QFileDialog关于选择文件对话框中的几个信号的说明

QFileDialog关于选择文件对话框中的几个信号 实例:openFile::openFile(QWidget *parent) :QWidget(parent),ui(new Ui::openFile){ui->setupUi(this);fDialog = new QFileDialog(this);fDialog->setFileMode(QFileDialog::Di

2013-10-31 11:11:05 3553 2

原创 [QT]QDir和QFile的基本操作

QDir和QFile的用法实例:#include #include #include #include #include #include void MainWindow::DirTest(){///////////////////1// QDir mDir("D:/QT_Pro");// qDebug()<< mDir.exists();////////////

2013-10-31 11:09:44 10438

原创 [QT]QTreeWidget 的基本用法

QTreeWidget用法实例:void MainWindow::QTreeWidgetTest(){ui->treeWidget->setColumnCount(2);ui->treeWidget->setHeaderLabels(QStringList()<<"one"<<"two");AddRoot("hello", "world");AddChild(itm,"one

2013-10-31 11:07:54 18168 4

原创 [QT]QMessageBox 的四种用法

之前的一些QT笔记,整理一下。void MainWindow::on_info_clicked(){//infoQMessageBox::information(this, "Title", "Text");}void MainWindow::on_question_clicked(){//questionQMessageBox::StandardButton reply

2013-10-31 11:06:46 43197

原创 UDP通讯实例

其实都是之前在网上积累的一些基础代码,调试成功后,做个代码笔记,方便以后查阅。UDP没有严格意义上的服务器端 和 客户端,但一般把有bind()的当作服务器。服务器端:#include #include #include #include #include #include #include #include #define SERV_PORT 800

2013-10-31 11:02:14 1059

原创 状态机编程技巧:状态表与函数表

没有swith case那样可以直接能通过程序代码看到各 状态 的跳转与 状态机 的执行步骤,但这种 状态表与函数表 实现的 状态机。代码简洁,无遗漏状态,经典!简单实例:#include char str[128] = " ./a.out 100 200 ";int argc;char * argv[16];int i = 0;void act_save

2013-10-31 10:55:19 4462

原创 进程间通讯(三)IPC之共享内存

发送:#include #include #include #include #include #define BUF_SIZE 1024 #define MYKEY 25 int main() { int shmid; char *shmptr; if((shmid = shmget(MYKEY,BUF_SIZE,IP

2013-10-29 15:01:21 903

原创 进程间通讯(二)IPC之消息队列

创建队列号:#include #include #include int main(int argc, char *argv[]){ int id; id = msgget(IPC_PRIVATE, IPC_CREAT|0660); printf("id = %d\n", id); return 0;}发送:#include #include

2013-10-29 14:58:00 956

原创 进程间通讯(一)IPC之管道FIFO

发送:#include#include#include#include#include#include#include#define FIFO_SERVER "./myfifo"main(int argc,char** argv){ int fd; char w_buf[100]; int nwrite; if(fd==-1) if(errno==ENXIO)

2013-10-29 14:28:23 998

原创 多线程间的同步

实例:#include #include #include #include #define MAX 10pthread_t thread[2];pthread_mutex_t mut;int number=0, i;void *thread1(){ printf ("thread1 : I'm thread 1\n"); for (i = 0; i < MAX

2013-10-29 13:53:11 794

原创 sscanf正则表达式与string快速提取key=value

sscanf正则表达式的一种用法,用来获取配置文件(key=value)中的值比较方便。#include int main(){ char buf[]="abcdefg=456"; char s[10]={0}; int n=0; sscanf(buf,"%[^=]=%d",s,&n); printf("%s\n",s); printf("%d\n",n);

2013-10-29 11:46:15 3219

原创 关于sizeof()的返回值

前段时间看<C专家编程>,有一段关于sizeof()的代码,关于运行结果,大部分都会答错。列出来,防止以后在代码中出现类似BUG。。。#define INT_LEN sizeof(int)int main(){ int d = -1; int n = sizeof(int); int m = 2; printf("NUM = %d\n",NUM); prin

2013-10-29 11:09:07 2623

原创 swap的三种方式

#include #define LEN 4void swap1(int *x, int *y){ *y = *x ^ *y; *x = *x ^ *y; *y = *x ^ *y;} void swap2(int *x, int *y){ *x = *x + *y; *y = *x - *y; *x = *x - *y;} void swap3(int *x, int

2013-10-29 09:15:31 2567

原创 优化打印调试信息(可变参数)

#include #include #define MAX_MSG 1000//#define __D(fmt, args...) printf("debug: " fmt, ## args)#define __D(fmt,...) logOut(__FILE__,__FUNCTION__,__LINE__,fmt"",##__VA_ARGS__)int logOut(cons

2013-10-29 09:09:59 1254

原创 获取本地时间

#include #include int main(){ time_t tnow; struct tm *tmnow; time(&tnow); tmnow = localtime(&tnow); printf("%4d-%2d-%2d %02d:%02d:%02d week:%d\n",(1990 + tmnow->tm_year),(1 + tmnow->tm_mon),t

2013-10-28 17:31:57 837

VS QT5插件

双击即可在VS2015中安装QT5插件

2016-11-28

upx压缩工具

将upx.exe拷贝到Windows/System32下,可用upx命令压缩exe文件

2016-11-28

QT视频播放器

QT界面 和 ffmpeg解码 的视频播放器, 无音频. 供H.264视频解码学习之用

2016-04-13

QT局域网聊天传输

描述详见博文: http://blog.csdn.net/liukang325/article/details/45483029

2015-07-07

Setup2GO安装包发布工具

一个安装包发布工具,可用来对QT程序的发布。

2014-03-18

QT制作的logServer,附源码

QT源码,功能局限于指定的log通过TCP输出。实现代码供参考。

2012-11-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除