随笔分类 - C/C++
摘要:怎样在屏幕上以十六进制样式显示内存中的一段数据。下面分以下几步来介绍:1、字节转换成十六进制字符2、数据块转换成十六进制字符串3、将十六进制字符串格式化输出4、将前面三步综合,将一段数据以十六进制显示。1、字节转换成十六进制字符定义十六进制字符的常量字符串,然后用字节的高四位和低四位分别作下标来直接访问常量表即得到十六进制的字符。(该功能用C语言库中的 ltoa 函数能很方便的实现)void dtoh(UINT8 * hex,UINT8 n){ static const UINT8 HEX[] = "0123456789ABCDEF"; hex[0] = HEX[n / 1
阅读全文
摘要:C语言建立动态数组 数组的有点在于随机存取,然而其不足也是明显的,就是一旦建立其大小就不能改变。若用数组存储数据,则必须创建一个可能存放的最大空间的数组,这无疑浪费了空间。动态数组解决了这个问题。动态数组的思路是:先建立一定大小的数组,向这个数组中存放数据,如果数组已满,则重新申请一个更大的空间来存放。每次重新申请时可以指定增量(inc)的大小,也可以固定大小。这样做的好处是空间浪费不多,最多浪费(inc-1)个元素空间,其不足是重新申请空间浪费时间,每次重新申请空间时须将原来的数据拷贝到新申请的空间,当数组很大时,这种浪费还是相当可观的。稍后将用链表和数组结合解决这一问题。先建立动态数组的存
阅读全文
摘要:毕设要用到CRC算法。虽然CRC在通信原理里面学过,但早已记不清了,便去网上找。搜索引擎是个好东西,但是搜到好多都是重复的,而且大多是转(贴)了又转,里面的公式,原理图都转没了。终于在CSDN上找到一篇好文章,清楚的说明了CRC算法及其实现。非常感谢这篇文章的作者,他/她使我花了很少的时间便对CRC算法有了很好的了解。为方便以后查阅和大家参考现在把我找到几篇资料汇集一下。1、CRC算法及实现(以CRC-ITU 16位的CRC校验为例)贴子地址(以下几个均可):http://blog.csdn.net/ncdawen/archive/2006/03/22/633014.aspxhttp://b.
阅读全文
摘要:洗牌即产生指定数据的随机序列。在网上找了半天大体有两种做法1、 思路:将54个数依次放到随机的位置。关键是每次找一个随机的位置。下面是找这个随机位置的算法: 1、用一个Bool型数组记录各个位置是否已经放置了数,如果放置则置true,没有则为false。在算法开始时数组初始化为false。2、每次产生一个0~53的随机数,看这个位置是否已经放置了数,如果已经放置了,则继续用同样的方法找一个随机位置判断;如果这个位置还未放置,则设置此位置,并标记其已经放置。3、反复执行(2)直到所有的位置都放置了数为止。(只要设置成功54次数就说明所有位置已经设置了数)例程:void shuffle(int d
阅读全文
摘要:关键字:c语言 时间函数 time.h c语言时间函数,时间头函数原帖地址http://blog.csdn.net/dynamic516/archive/2006/12/02/1427197.aspx所有代码编译环境:MSVC6.01,时间的获取:通过time()函数来获得日历时间(Calendar Time),其原型为:time_t time(time_t * timer);#include "stdafx.h"#include "time.h"#include "stdio.h"#include "stdlib.h&qu
阅读全文
摘要:C语言time.h函数库2007-04-26 20:15 C/C++中的日期和时间 头文件 time.h 函数用途 函数名 得到处理器时间 clock 得到时间差 difftime 设置时间 mktime 得到时间 time 得到以ASCII码表示的时间 asctime 得到字符串表示的时间 ctime 得到指定格式的时间 strftime 摘要: 本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方...
阅读全文
摘要:经常用到链表,但每次写都不那么顺利,终于有点时间整理一下,把感觉写的不错的代码拿出来分享,希望大家能指出问题,那我算没白写。该链表以存放整型数据为例。头文件:#ifndef__LINK_H__#define__LINK_H__#defineERROR(-1)#defineOK(0)#defineTRUE(1==1)#defineFALSE(!TRUE)typedefintBOOL;typedefintelem_t;//定义元素的数据类型typedefstructnode...{elem_tdata;structnode*next;}tagNode_t,tagList_t;/**//*把已经存.
阅读全文
摘要:Array is not pointer Published by siavoshkc ...
阅读全文
摘要:// ***************************************************************// 例如输入当前时间2006年12月20日19时17分59秒,// 计算后输出时间是2006年12月20日19时18分00秒。// 程序要求://1)程序应该可以运行:通过控制台输入数据,输出数据通过printf给出;//2)程序结构明了、逻辑清晰;//3)请考虑闰年、月份(大小)等逻辑;//4)程序功能完整;// ***************************************************************#include &l
阅读全文
摘要:函数调用的传值和“传址” 以下文字只想说明一个问题:所有的参数传递都是传值;要想通过函数改变一个变量的值,只有将此变量的地址传入函数。 其实C语言中根本没有传址这一说,所有的函数在传递参数时都是采用的传值调用,即在调用时完成实参对形参的赋值,也就是说在传递参数时永远都是将实参的值传递给形参。形参是一个局部变量,作用域是函数体内,初始化是在函数调用时。那经常用到的指针作形参不是传地址吗?其实不是。我觉得说传址的人是为了让初学者好理解才不得已那么说的(其实在遇到用于输出的参数时,如果我在无法给人讲清楚,或是想节约口舌时也不得不说这是传址调用)。指针作为形参,在函数调用时,传递的是指针的值,只不过这
阅读全文
摘要:问题:如果正整数L、D均不能被正整数K整除,问:是否一定存在正整数n,使得 (n*L + D)能被K整除。
阅读全文
摘要:级别:中级 作者 : Shiv Dutta (sdutta@us.ibm.com ),技术顾问,IBM Gary Hook (ghook@us.ibm.com ),高级技术顾问,IBM 尽管 C 语言问世已近 30 年,但它的魅力仍未减退。C 语言继续吸引着众多的人们,他们为了编写新的应用程序,或者移植或维护现有的应用程序而必须学习新技能。 简介 本文是为了满足开发人员的需要而写的。我们总结了一套指南,无论作为开发人员还是顾问,这些指南多年来一直都很好地指导着我们,我们把它们作为建议提供给您,希望对您的工作有所帮助。您也许不赞同其中的某些指南,但...
阅读全文
摘要:实战VC时间控制函数2000-08-14 15:27:40 随着软硬件的飞速发展,计算机技术已经广泛地应用到自动化控制领域,为了实现实时控制,控制程序必须能够精确地完成定时和计时功能。VC提供了很多关于时间操作的函数,下面根据它们精度的不同,分别进行说明。 一般时控函数 VC程序员都会利用Windows的WM—TIMER消息映射来进行简单的时间控制:1.调用函数SetTimer()设置定时间隔,如SetTimer(0,200,NULL)即为设置200毫秒的时间间隔;2.在应用程序中增加定时响应函数OnTimer(),并在该函数中添加响应...
阅读全文
摘要:/*本程序是模拟汉诺塔的操作过程,将每一步的执行方法打印出来,并记录执行次数;主程序采用递归方式;每执行一步等待0.5秒;*/#include<stdio.h>#include<conio.h>/*for the function: clrscr()*/#include<dos.h>/*for the function: delay(int ms) */int count = 0; /*move times*//*将盘从柱子A移动到柱子B*/void move(char A,char B){ delay(500);/*wait 0.5s */ printf(
阅读全文
摘要://利用文件指针实现//假设文件file.txt存在,且在当前目录下#include <iostream>#include <fstream>using namespace std;int main(int argc, char* argv[]){ ifstream in("file.txt"); in.seekg(0, ios::end); //设置文件指针到文件流的尾部 streampos ps = in.tellg(); //读取文件指针的位置 cout << "File size: " << ps
阅读全文
浙公网安备 33010602011771号