摘要: C++中使用Beep也可以进行谱曲。void HappyBirthday (void){ unsigned FREQUENCY[] = {392,392,440,392,523,494, 392,392,440,392,587,523, 392,392,784,659,523,494,440, 689,689,523,587,523}; unsigned DELAY[] = {375,125,500,500,500,1000, 375,125,500,500,500,1000, ... 阅读全文
posted @ 2012-04-09 21:30 陈朋 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 1、概念Java将数据从源(文件、内存、键盘、网络)读入到内存 中,形成了流,然后将这些流还可以写到另外的目的地(文件、内存、控制台、网络),之所以称为流,是因为这个数据序列在不同时刻所操作的是源的不同部分。2、分类按照不同的分类标准,IO流分为不同类型。主要有以下几种方式:按照数据流方向、数据处理的单位和功能。还有一些分类比如:对象流、缓冲流、压缩流、文件流等等。其实都是节点流和处理流的子分类。不管流的分类是多么的丰富和复杂,其根源来自于四个基本的类。这个四个类的关系如下:字节流字符流输入流InputStreamReader输出流OutputStreamWriter2.1输入流与输出流。数据 阅读全文
posted @ 2012-04-06 17:21 陈朋 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 今天要通过一个函数对数组进行赋值,需要用数组作为参数传入、传出。bool ReadFile(const char* filename, int32(&pData)[10], const int iSize){ ...... pData[i_index] = strtol(p_pos, &p_end, 10); ...... return true;}调用: int32 data[6]; if (!ReadFile(testfile, data, 6)) { //error }下面这个连接很不错的,可以学习下http://www.cnblog... 阅读全文
posted @ 2012-04-01 16:15 陈朋 阅读(186) 评论(0) 推荐(0) 编辑
摘要: fatalerrorC1088关于fatalerrorC1088:无法刷新编译器中间文件:“C:\DOCUME~1\ADMINI~1\ LOCALS~1\Temp\_CL_ae41746agl”: No space left on device报错的原因是:C盘空间不足造成的。真神奇,这个错误竟然让我遇到了。error C2723“specifier”存储类说明符在函数定义上非法该说明符不能与函数定义一起在类声明之外出现。virtual 说明符仅可在类声明内的成员函数声明中指定。看下嘛的例子。class A{ virtual void fun();};virtual void A::fu... 阅读全文
posted @ 2012-04-01 13:16 陈朋 阅读(1193) 评论(0) 推荐(0) 编辑
摘要: 换行(\n)就是光标下移一行却不会移到这一行的开头,回车(\r)就是回到当前行的开头却不向下移一行。 Enter键按下后会执行\n\r这样就是我们看到的一般意义的回车了,所以用16进制文件查看方式看一个文本,就会在行尾发现"\n\r"。 程序调试时换行符时是\r\n。 Tab是制表符,就是"\t",作用是预留8个字符的显示宽度,用于对齐。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有 阅读全文
posted @ 2012-03-29 17:16 陈朋 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 1、调试时控制台一闪而过。Ctrl + F5然后再逐步调试即可。2、程序跳入汇编窗口。今天调试程序的时候,加断点后程序之间跳入到汇编窗口,怎么也无法逐行调试,这时要将工程重新生成一下。重新逐步运行即可。 阅读全文
posted @ 2012-03-29 17:14 陈朋 阅读(235) 评论(0) 推荐(0) 编辑
摘要: Windows对文件的读写提供了很丰富的操作手段,如:1. FILE *fp, fstearm...; (C/C++)2. CFile, CStdioFile...; (MFC)3. CreateFile, ReadFile...;(API)...在处理一般的文件(文本/非文本),这些足够了。然而在处理比较大的文件如几十M, 几百M, 甚至上G的文件, 这时再用一般手段处理,系统就显的力不从心了要把文件读出,再写进,耗费的是CPU利用率与内存以及IO的频繁操作。这显然是令用户难以忍受的为了解决这个吃内存,占CPU,以及IO瓶颈,windows核心编程提供了内存映射文件技术(Maping Fil 阅读全文
posted @ 2012-03-28 12:48 陈朋 阅读(380) 评论(0) 推荐(0) 编辑
摘要: Socket编程很简单。因为不管用什么语言、什么环境编写,都是那几个固定的步骤。Socket可以通过TCP\IP和UDP两种方式实现。TCP\IP tcp建立连接要进行“三次握手”,即交换三个分组。大致流程如下:客户端向服务器发送一个SYN J服务器向客户端响应一个SYN K,并对SYN J进行确认ACK J+1客户端再想服务器发一个确认ACK K+1 当客户端调用connect时,触发了连接请求,向服务器发送了SYN J包,这时connect进入阻塞状态;服务器监听到连接请求,即收到SYN J包,调用accept函数接收请求向客户端发送SYN K ,ACK J+1,这时accept进入阻.. 阅读全文
posted @ 2012-03-27 17:28 陈朋 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 这里曾遇到过O_TRUNC 这个参数,当时没看明白啥意思,后来弄了个例子,英文不好的桑不起啊。 int _open(char *pathname,int access)为读或写打开一个文件, 按后按access来确定是读文件还是写文件,access值见下表 ┌──────┬────────────────────┐ │access值 │意义 │ ├──────┼────────────────────┤ │O_RDONLY │读文件 │ │O_WRONLY │写文件 │ │O_RDWR │即读也写 │ │O_NOINHERIT │若文件没有... 阅读全文
posted @ 2012-03-27 16:59 陈朋 阅读(2750) 评论(0) 推荐(0) 编辑
摘要: linux文件IO操作可以分为两种:1.带缓存的文件IO操作,包括fopen, fclose, fread, fwrite, fgetc, fgets, fputc, fputs, freopen, fseek, ftell, rewind等2.不带缓存的文件IO操作,包括open, close, read, write, getc, getchar, putc, putchar 等两者的区别:1.带缓存的io操作是在标准C里面定义的(可移植),而不带缓存的io操作是POSIX中定义的(不可移植),属于系统调用。带缓存的实际上是在不带缓存的基础之上封装了一层,维护了一个输入输出缓冲区,使之能跨 阅读全文
posted @ 2012-03-27 16:56 陈朋 阅读(695) 评论(0) 推荐(0) 编辑