
C/C++
文章平均质量分 66
hnu_zxc
学无止境
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++文件操作
ifstream ofstream ftream这个知识点迷糊了很久了,前段时间始终没有搞清楚,今天又拿过来看的时候好象明白了点......ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:原创 2011-12-25 00:49:03 · 1151 阅读 · 0 评论 -
Win7 编译安装log4cxx c++日志类
log4cxx是Apache的Log4j的一个C++版本,我今天在win7+VS2010环境下进行了编译安装,中间出了一些问题,查资料发现每个人遇到的问题不完全相同,有一些我就没有遇到,这里记录一下我遇到的各个问题以及解决的方法。首先要下载log4cxx 以及 apr 和 apr-util 源码:log4cxx:http://www.apache.org/dyn/closer.cgi/lo原创 2012-07-26 01:19:55 · 4070 阅读 · 1 评论 -
C++网络编程的几个函数
1、WSAStartupint WSAStartup ( WORD wVersionRequested, LPWSADATA lpWSAData );wVersionRequested ⑴ wVersionRequested:一个WORD(双字节)型数值,指定了应用程序需要使用的Winsock规范的最高版本。 ⑵lpWSAData 指向WSADATA数据结构的指针,用来接收Win原创 2012-07-09 21:17:51 · 1206 阅读 · 0 评论 -
利用mysql的C API来操作mysql数据库
要使用mysql的C API来操作数据库,则在安装数据库的时候必须选择安装其开发组件,主要是一些头文件和库文件的安装,在编程的时候需要使用这些库。在程序开发的时候,需要包含头文件文件夹include,以及库文件夹lib/debug,在外部库依赖中填写libmysql.lib,另外,由于需要使用网络连接,还需要开启windows socket 支持。 在我的测试程序中,我建立的表结原创 2012-07-03 21:57:41 · 1048 阅读 · 0 评论 -
猫映射及其逆映射
猫映射是一种混沌系统,它将明文当做混沌系统的初始值进行迭代或演化来达到将明文进行置乱(加密)的效果。它也叫做Arnold映射,最早由Arnold和Avez提出。其映射方式如下: 当把(x,y)视为矩阵(长与宽相等)的坐标的时候,N即为矩阵的宽度,该过程可以将整个矩阵中的元素的位置打乱。事实上,在对图像进行混沌置乱以实现加密的时候,多采用猫映射来实现。需要指出的是,上式是可以迭原创 2012-05-12 17:21:07 · 5764 阅读 · 0 评论 -
随机过程给定种子,得到的结果总是一样的
如题。 以下是一段产生不重复的随机数的代码:#include #include #include #include bool sortIntVector(int v1, int v2);int main(){ std::vector v_randInt; int seed = 9; int temp; int i = 0;原创 2012-05-12 18:23:29 · 1364 阅读 · 0 评论 -
C/C++求对数
C的数学函数库定义了自然对数函数log,但没有定义以其他数为底的对数,可以通过换底公式来实现之:测试代码:#include "stdio.h"#include "conio.h"#include #define E 2.718282 int main(){ double a,b; a = log(100) / log(10);原创 2012-04-25 18:05:31 · 30607 阅读 · 0 评论 -
指定struct成员变量的位数
在定义结构体的时候,我们在指定成员变量的类型的同时也可以指定成员变量所占的位数,其定义形式为:struct teststruct{ 类型1 成员1 :成员1所占位数; 类型2 成员2 :成员2所占位数; 类型3 成员3 :成员3所占位数; ......};虽然拆分基本成员变量在语法上是得到支持的,但是并不等于我们想怎么分就怎么原创 2012-01-20 22:32:11 · 3255 阅读 · 0 评论 -
MFC radio button 组选按钮
在使用MFC的radio button的来实现按钮组单选效果时的实现方式:1、连续添加两个Radio Button,确保其ID是连续的(可以查看Resource.h中的定义)2、将第一个Radio Button的Group属性设置为true如此处理后,运行程序时,两个按钮均未选中,选中一个后,点击另一个的时候,之前选中的按钮变为未选中状态。可以在OnInitDial原创 2012-01-09 17:39:21 · 2347 阅读 · 1 评论 -
C字符串处理函数
1、strcatchar * strcat ( char * destination, const char * source );连接字符串将source字符串的拷贝附加到destination字符串,destination中的结束空字符null被source字符串的第一个字符所覆盖,并且一个新的空字符null被附加到连接两个字符串而生成的新字符串destination的末尾。参原创 2011-12-27 17:41:44 · 1768 阅读 · 0 评论 -
C\C++几个内存处理函数
1、memcpyvoid * memcpy ( void * destination, const void * source, size_t num );复制内存块从source指向的位置直接复制num个字节的值到destination指向的内存块。对于这个函数,source和destination指向的对象的底层类型是无关的;结果是数据的一个二进制复制。这个函数原创 2011-12-26 20:59:13 · 6811 阅读 · 0 评论 -
数组下标为负数
在使用数组的时候,相信大多数人首先想到的是“数组是从0开始的,数组的下标必须大于或等于0”,但是在处理一些数值计算的问题的时候,很可能会遇到下标为负数的问题,比如,在做9/7浮点小波变换的时候会有:x(m) = x(-m) ,m<0,在这种情况下,当要循环迭代计算的时候,就需要判断m是否为负数,这个还是有点麻烦的。 这个时候,如果我们知道m的最小值,比如-4的时候,就可以考虑直原创 2011-12-24 23:57:16 · 18141 阅读 · 0 评论 -
C++标准库 vector排序
前天要做一个对C++ STL的vector容器做一个排序操作,之前一直把vector当做一个容量可自动变化的数组,是的,数组,所以打算按照对数组进行排序的方法:用快速排序或是冒泡排序等算法自己写一个排序的函数。后来觉得STL这么强大,应该有它自己的排序方法(没有好好学习啊),然后就去google了一下,果然有,而且可以自定义排序的函数,太强大了(而且效率应该比我自己写的要好吧)。// Vect原创 2011-09-03 21:51:43 · 122813 阅读 · 5 评论 -
C++归并求交集,并集
对于两个有序的元素序列,在归并操作中作适当的处理即可得到二者的交集与并集,代码如下: #include #include #include #include using namespace std; void vectorjiaoji(const vector& v1,const vector& v2,vector& des)//求交集 {原创 2010-06-15 15:12:00 · 7401 阅读 · 0 评论 -
一个打印日志的C宏定义——TRACEOUT
在编程的时候,我们常常需要知道程序的运行状态,因而回用printf、cout或者AfxMessageBox等方式将信息打印出来。这样处理其实是很麻烦的,每个地方都要写这些代码,程序发布的时候又要手动注释或者删除这些代码,费时费力还容易出错。而本文则是介绍另外一种方式来获取程序的运行状态——打印日志,通过一个宏定义来把要打印的信息写到一个日志文件中,这样不仅可以记录程序每次运行的状态便于debug,原创 2011-12-01 12:26:19 · 4408 阅读 · 0 评论 -
C实现的俄罗斯方块
刚开始学习C的时候写的一个东西,好像只有在一些老旧的机器上能跑,今天有机会接触到了这样的一台机器,试了一下,还是可以跑得动的,好激动(虽然程序在内存释放方面是有问题的)附上代码:#include "stdio.h"#include "dos.h"#include "conio.h"#include "graphics.h"#include "stdlib.h"/***********原创 2012-10-13 16:58:38 · 1826 阅读 · 0 评论