自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 qt之读写excel

qt版本是qt5.5, 需先在.pro文件下添加axcontainer组件QT += core gui axcontainer其次,读写excel一般流程: // step1:连接控件 QAxObject* excel = new QAxObject(this); excel->setControl("Excel.Application"); //

2017-01-10 22:57:12 16609 4

原创 qt之读写txt

要想像c/c++那样使用cin, cout, cerr, 必须将它们先定义QTextStream对象。 QTextStream cin(stdin, QIODevice::ReadOnly); QTextStream cout(stdout, QIODevice::WriteOnly); QTextStream cerr(stderr, QIODevice::

2017-01-10 21:55:40 727

原创 DB2常用函数详解(一):字符串函数

VALUE函数 语法:VALUE(EXPRESSION1,EXPRESSION2) VALUE函数是用返回一个非空的值,当其第一个参数非空,直接返回该参数的值,如果第一个参数为空,则返回第一个参数的值。 eg:--表示如果T1.ID为空,则返回空串,如果T1.ID不为空,则返回T1.ID。SELECT VALUE(ID,'') FROM T1COALESCE函数 语法:COALESCE

2017-01-10 21:32:28 7705

原创 qt打包程序

Qt的应用程序编译出来之后,将单独的exe程序拿到其他PC上运行是运行不起来的,会提示缺少对应的动态链接库。我们需要去Qt的安装目录下找到所有的Qt程序运行时所依赖的,将他们和exe程序放到同一目录下,程序才可以执行。根据上边的描述我们可以想象的到,如果手动去寻找应用程序依赖的动态库,这是一件非常麻烦的事情。其实我们完全没有必要这么辛苦,Qt给我们提供了一个寻找依赖项的工具windeployq

2017-01-03 00:10:03 519 1

原创 创建Qt项目之02(手动创建)

添加一个空项目选择【choose】进行下一步。设置项目名称和路径 —> 选择编译套件 --> 修改类信息 --> 完成(步骤同上),生成一个空项目。在空项目中添加文件:在项目名称上单击鼠标右键弹出右键菜单,选择【添加新文件】弹出新建文件对话框在此对话框中选择要添加的类或者文件,根据向导完成文件的添加。

2016-12-31 12:39:38 426

原创 创建Qt项目之01(使用向导创建)

打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项 弹出New Project对话框,选择Qt Widgets Application,  选择【Choose】按钮,弹出如下对话框 设置项目名称和路径,按照向导进行下一步, 选择编译套件 向导会默认添加一个继承自CMainWindow的类,可以在此修改

2016-12-31 12:31:38 897

原创 c++时间转换与表示之04(与日期和时间相关的函数及应用)

我们可以通过time()函数来获得日历时间(Calendar Time),其原型为:time_t time(time_t * timer);如果你已经声明了参数timer,你可以从参数timer返回现在的日历时间,同时也可以通过返回值返回现在的日历时间,即从一个时间点(例如:1970年1月1日0时0分0秒)到现在此时的秒数。如果参数为空(NULL),函数将只通过返回值返回现在的日历时间,比如下

2016-12-29 22:41:45 666

原创 c++时间转换与表示之03(与日期和时间相关的数据结构)

在标准C/C++中,我们可通过tm结构来获得日期和时间,tm结构在time.h中的定义如下:#ifndef _TM_DEFINEDstruct tm { int tm_sec; /* 秒 – 取值区间为[0,59] */ int tm_min; /* 分 - 取值区间为[0,59] */ int tm_hour; /* 时

2016-12-29 22:33:47 877

原创 c++时间转换与表示之02(计时)

C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:clock_t clock( void );这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wall-clock)。其中clock_t是用来保存时间的数据类型,

2016-12-29 22:29:12 429

原创 c++时间转换与表示之01(摘要)

本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)在C/C++中,对字符串

2016-12-29 22:24:19 321

原创 LinuxUnix time时间戳的处理转换函数

linux下的时间函数我们在编程中可能会经常用到时间,比如取得系统的时间(获取系统的年、月、日、时、分、秒,星期等),或者是隔一段时间去做某事,那么我们就用到一些时间函数。linux下存储时间常见的有两种存储方式:一个是从1970年到现在经过了多少秒;一个是用一个结构来分别存储年月日时分秒的。time_t 这种类型就是用来存储从1970年到现在经过了多少秒,要想更精确一

2016-10-17 17:30:28 4353

原创 03.游标操作数据库

目的:操作多行多列时,逐行或随机处理数据。//普通游标,向下读EXEC SQL FETCH dept_cursor INTO :deptno, :dname:dname_ind, :loc:loc_ind;printf("条目数:%d\t", sqlca.sqlerrd[2]);printf("%d\t %s\t %s ", deptno, dname, loc );

2016-10-04 23:31:40 311

原创 02.数据库基本设置

1.sqlplus 登录sqlplus    scott/11  ↙   或   sqlplus     hr/11  ↙以管理员身份登陆:sqlplus  /  as  sysdba     (在Oracle数据库安装时指定了登陆密码)解锁用户: alter user scott account unlock   (管理员身份登陆,给scott用户解锁。用户默认锁定)修改用户密码

2016-10-04 00:02:40 267

原创 01.基本SQL语句

SELECT column,group_functionFROM           table[WHERE      condition][GROUP BY group_by_expression][HAVING     group_condition][ORDER BY column];表的CURD

2016-10-03 23:58:28 309

原创 Linux之core 文件

1. core文件的简单介绍在一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。2. 开启或关闭core文件的生成用以下命令来阻止系统生成core文件:ulimit -c 0下面的命令可以检查生成core文件的选项是否打开:ulimit -a该命令将显示所有的用户定制,其中选项-a代表“a

2016-09-13 23:46:51 336

原创 面试之非技术技巧

1.首先,我觉得最重要的是,简历要写好,一定要写好,要想找到好工作,好的简历是必备的,也是迟早要经历的。不要随便应付,刚开始不写好简历,后面的面试也是浪费时间。2.面试之前,先找五六家练练手。注意:练手时,每天最多安排一家,要有时间反思总结,多了的话,不仅人累,还没有时间总结思考。针对欠缺的知识点,要及时地补充。3.当简历上的问题,基本能解决,每一个细节都能牢记在心。这时可以考虑每天两到三

2016-09-13 20:57:42 320

原创 Linux之线程和进程及进程间通信

1、线程和进程的关系以及区别?进程和线程的关系:    (1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。    (2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。    (3)处理机分给线程,即真正在处理机上运行的是线程。    (4)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。线程是

2016-09-12 15:30:27 276

原创 methods之学习源代码

1、一边阅读代码一边写注释。这是我用过的最好的方法,对代码理解得更深入,看一些重要代码或者特别难懂的代码时挺有用。更何况,注释也是一种文档嘛。 2、一边阅读代码一边绘制UML。这个方法适用于类之间的关系较复杂和调用层次较深的情况,我一般都是先绘制顺序图,然后为顺序图中的类绘制关系图。 3、通过Debug来跟踪程序的主要执行过程,这样就可以分清主次了,阅读的时候更有针对性。 4、类的快速

2016-09-12 08:48:28 229

原创 如何快速学习一门新计算机语言

本来想总结老师的方法的,可在网上找到一篇一模一样的,为了保证原创性,所以只好直接引用啦。点击打开链接《如何快速学习一门新计算机语言》

2016-09-12 07:58:41 1843

原创 methods之感悟

磨刀不误砍柴工,这个道理谁都懂,但真正把时间花在磨刀上的人有多少呢?现如今,人们更看重的是早点看到结果,心态早已浮躁不堪。其实我自己本身也是如此,关于学习,一直就知道学习方法的重要性,但是并没有在学习过程中去提炼学习方法,更别谈能把学习方法在学习当中运用得怎么样了?所以想从今天起,开始对学习方法的提炼。

2016-09-12 07:46:54 244

原创 面试感悟之面对新知识

昨天下午有个面试,让我修改一个python的程序,搞了四个小时才搞定。因为学的C++,python也只是了解基本语法。所以450行的python代码,一下子懵了。现在回想起来也没有那么难,只是有很多东西没有接触过,在网上都能找到答案,最大的问题是给我的任务需求没有明确。我最开始的理解是,他的代码是正确的,需要我在他的基础上,修改增加一些代码,实现其它功能。最终变成一道改错题。一开始的时候,他的

2016-09-11 10:16:15 409

原创 C/C++之for(;;)与while(1)的区别

一般for(;;)性能更优for(;;) {} 这两个;; 空语句,编译器一般会优掉的,直接进入死循环while(1) {} 每循环一次都要判断常量1是不是等于零,在这里while比for多做了这点事

2016-09-09 16:53:54 1410

原创 C/C++之#define和const区别

for(;;)与while(1)(1) 编译器处理方式不同  define宏是在预处理阶段展开。  const常量是编译运行阶段使用。(2) 类型和安全检查不同  define宏没有类型,不做任何类型检查,仅仅是展开。  const常量有具体的类型,在编译阶段会执行类型检查。(3) 存储方式不同  define宏仅仅是展开,有多少地方使用

2016-09-09 16:35:47 439

原创 C/C++之strcpy实现

考查知识点有五处,具体如下://返回值char*,实现链式编程; 用const修饰src,禁止对源字符串修改char * MyStrcpy(char *des, const char *src){ if (NULL == des || NULL == src) //为空判断 return NULL; char *p1 = des; const char *p2 = src;

2016-09-09 16:13:46 552

原创 00-C++工程师常见面试大纲汇总

1.C/C++#define和const区别七大算法(冒泡,选择,插入,希尔,快排,归并,堆排),重点:冒泡和快排函数实现:strcpy, 链表(增删改查)(单向,双向),重点:单向链表增和删,还有链表逆序设计模式(2年工作经验必须有所了解)23+1STL的使用短小函数分别在C和C++是怎么实现的?指针和引用的区别?2.Linux系统编程

2016-09-09 15:39:20 344

原创 C语言判断两个浮点数是否相等

我的一篇文章讲到在C语言中浮点数在内存是如何存储的。符点数是采用二进制科学计数法来进行存储的,因此,绝大多数的数在计算机中是不能 精确 表示的。如果两个数a b都是常数赋值,这样比较,不会有问题,如:double a=5.3,b=5.3; double a = 5.3, b = 5.3; if (a == b) { printf("a = b\n");

2016-09-04 10:25:25 6607

原创 C语言浮点数存储方式

对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用 32bit,double数据占用 64bit.其实不论是float类型还是double类型,在计算机内存中的存储方式都是遵从IEEE的规范的,float 遵从的是IEEE R32.24 ,而double 遵从的是R64.53。   无论是单精度还是双精度,在内存存储中都分为3个部分:  1) 符号

2016-09-04 10:08:37 14262 1

原创 关于csdn博客

1.怎么查看待审核文章a.进入博客个人主页b.点击右边管理博客,就可以看到博客的状态2.好的博客没有关注按钮时,怎么关注他他的博客主页网址栏blog.csdn.net/xxxx  然后把网址的blog改成hi(即hi.csdn.net/xxxx)就进入他的空间了,上面就有“关注他”的按钮3.

2016-09-04 08:12:12 298

原创 C++对C的扩展

1. C++会对函数返回值类型和参数个数进行检测    c语言默认为返回值为int, 参数个数不做检查    2. C++在定义结构体变量时, 关键字struct可以省略, 结构体名不能省    3. 在全局中定义:    int  val_g; //bss段(全是0), 在全局中    int val_g = 20; //data    c正确(2是赋值)

2016-09-03 22:17:30 212

原创 ANSIC标准6个预定义宏

使用一些宏跟踪调试 ANSIC标准定义了以下6种可供C语言使用的预定义宏: __LINE__ 在源代码中插入当前源代码行号 __FILE__ 在源代码中插入当前源代码文件名 __DATE__ 在源代码中插入

2016-09-03 22:07:49 426

原创 一亿数据获取最大值的前100位

两种思路:1. 根据快速排序划分的思想 a. 假设数组为 array[N] (N = 1 亿),首先利用quicksort的原理把array分成两个部分,左边部分比 array[N - 1] (array中的最后一个值,即pivot) 大, 右边部分比pivot 小。然后,可以得到 array[array.length - 1] (即 pivot) 在整个数组中的位置,假设是 k.

2016-09-03 21:42:44 2839

原创 ubuntu12.04镜像安装

在安装前需要准备.iso文件(12.04)1.文件 -> 新建虚拟机2.下一步:3.给虚拟机取个名字4.未截图,一律默认点下一步 5.处理器数量选择26.虚拟机内存 2G 7.设置安装路径(不要装在C盘)8.9.A.B.C.D.

2016-08-23 11:35:48 1018

原创 递归逆序打印字符串

#define _CRT_SECURE_NO_WARNINGS#include #include void PrintStr(char str[]){ if (NULL == str) return; char *s_p = str; if (*s_p == '\0') //递归退出条件 return; PrintStr(s_p + 1); //此句在上,为逆序打印

2016-08-15 00:05:45 687

原创 求数组中第k大的数的位置

利用插入排序的思想,求解:#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #define MAX 20//插入排序void InsertSort(int arr[], int len){ int i, j, tmp; for (i = 1; i < len; i++) { tmp

2016-08-14 23:34:34 1354

原创 怎么方便打开win应用程序和常用文件夹?

1.将各个应用程序快捷方式放一个文件夹(假设取名为a)中, 将常用文件夹的快捷方式放在另一个文件夹(取名为b)中 2.将以上两个文件夹放在一个文件(shortcuts)中 3.最后将shortcuts文件夹的路径, 放在环境变量中. 4.用win+r可以调出运行对话框, 输入a可以打开a文件夹, 通过输入快捷方式首字母可以快速定位, 或者方向键选择, 选定后, 回车就可以运行了. 同理输入b打

2016-08-09 00:23:40 612

转载 Linux文件存储结构,包括目录项、inode、数据块

大部分的Linux文件系统(如ext2、ext3)规定,一个文件由目录项、inode和数据块组成:目录项:包括文件名和inode节点号。Inode:又称文件索引节点,包含文件的基础信息以及数据块的指针。数据块:包含文件的具体内容。先说inode理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector),每个扇区储存512字节(相当于0.5KB

2016-06-08 22:47:35 802

转载 Linux系统的进程通常有以下几种状态:

R(TASK_RUNNING),可执行状态。只有在该状态的进程才可能在CPU上运行,同一时刻可能有多个进程处于可执行状态。S(TASK_INTERRUPTIBLE),可中断的睡眠状态。处于这个状态的进程因为等待某事件的发生(比如等待socket连接、等待信号量),而被挂起。当这些事件发生时,对应的等待队列中的一个或多个进程将被唤醒。一般情况下,进程列表中的绝大多数进程都处于TASK_I

2016-06-06 23:38:44 2794

空空如也

空空如也

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

TA关注的人

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