1、fopen函数
fopen函数用来打开一个文件,其调用的一般形式为:
文件指针名=fopen(文件名,使用文件方式);
“文件指针名”必须是被说明为FILE类型的指针变量
“文件名”是被打开的文件名,文件路径,是字符串常量或者字符数组(路径里的\请使用\\转义)
“使用文件方式”是指文件的类型和操作要求
把一个文本文件读入内存时,要将ASCII码转换成二进制码,而把文件以文本方式写入磁盘时,也要把二进制码转换成ASCII码,因此文本文件的读写要花费较多的转换时间。对二进制文件的读写不存在这种转换。
2、fread函数(stdio.h)
从一个文件流中读数据,最多读取count个项,每个项size个字节,如果调用成功返回实际读取到的的项的个数(小于等于count),如果不成功返回或者读到文件末尾返回0
buffer用于接收数据的内存地址
size要读取的每个数据项的字节数,单位是字节
count要读取count个数据项,每个数据项size个字节
stream输入流 (注意文件指针的概念)
3、fclose函数
关闭一个流。使用fclose函数就可以把缓冲区内最后剩余的数据输出到内核缓冲区,并释放文件指针和有关的缓冲区
返回值:如果流成功关闭,fclose返回0,否则返回EOF(-1)。
4、HDC
HDC是MFC中的设备上下文句柄。HDC设备上下文是一种包含有关某个设备(如显示器或者打印机)的绘制属性的windows数据结构。所有绘制调用都通过设备上下文对象进行,这些对象封装了用于绘制线条、形状和文本的windows api。
5、HBITMAP和BITMAP
HBITMAP是句柄
BITMAP是实例
windows不允许直接对用户对象操作,其操作得通过句柄来进行。
例如:
HBITMAP hBmp;
BITMAP bm;
GetObject(hBmp,sizeof(bm),&bm);
通过HBITMAP取得BITMAP;
6、GetDC函数
该函数检索一指定窗口的客户区域或者整个屏幕的显示设备上下文环境的句柄,以后可以在GD函数中使用该句柄来在设备上下文环境中绘图。
hWnd设备上下文环境被检索的窗口的句柄,如果该值为NULL,GetDC则检索整个屏幕的设备上下文环境
返回值:如果成功,返回指定窗口客户区的设备上下文环境;如果失败,返回值为NULL
该函数对系统的开销较大
7、CreateDIBitmap函数
CreateDIBitmap函数由与设备无关的位图(DB)创建与设备有关的位图(DDB),并且有选择地为位图置位
hdc设备环境句柄
lpbmih指向位图信息结构的指针,它可以是下列位图信息头之一:BITMAPINFOHEADER、BITMAPV4HEADER、BITMAPV5HEADER
fdwlnit:位标识集,它指定系统如何对位图的位进行初始化。
如果fdwlnit是CBM_INIT,那么函数使用位图信息头结构来获取位图所需的宽度、高度以及其他信息
注意高度若是正数,那么表示是自底向上DIB,而负数表示为自顶向下DIB,这种情况与CreateDIBitmap函数兼容
CBM_INIT:如果设置了该标志,那么系统将使用lpblnit和lpbmi两个参数指向的数据来对位图中的位进行初始化。如果没有该标志,那么表示上述两个参数指向的数据无效。如果fdwlnit为0,那么系统不会对位图的位进行初始化。
lpblnit:该指针指向包含初始的位图数据的字节类型数组。数据格式与参数lpbmi指向的BITMAPINFO结构中的成员biBitCount有关。
lpbmi:指向BITMAPINFO结构的指针。该结构描述了参数lpbmi指向的数组的维数和颜色格式。
fuUsage:表示BITMAPINFO结构的成员bmiColors是否初始化过,并且如果是,那么bmiColors是否包含明确的红、绿、蓝(RGB)值或调色板索引。参数fuUsage必须取下列值中的一个,这些值的含义为:
DIB_PAL_COLORS:表示提供一个颜色表,并且该表由该位图要选入的设备环境的逻辑调色板的16位索引值数组组成
DIB_RGB_COLORS:表示提供一个颜色表,并且表中包含了原义的RGB值
返回值:如果函数执行成功,返回值则是创建的位图的句柄;如果函数执行失败,那么返回值为NULL。
8、ReleaseDC函数
ReleaseDC函数释放设备上下文环境(DC)供其他应用程序使用。
hWnd指向要释放的设备上下文环境所在的窗口的句柄
hdc指向要释放的设备上下文环境的句柄
返回值:返回值说明了设备上下文环境是否释放;如果释放成功,则返回值为1;如果没有释放成功,则返回值为0
每次调用GetWindowDC和GetDC函数检索公用设备上下文环境之后,应用程序必须调用ReleaseDC函数来释放设备上下文环境。
应用程序不能调用ReleaseDC函数来释放由CreateDC函数创建的设备上下文环境,只能使用DeleteDC函数。
9、CreateCompatibleDC函数
该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。本函数创建的DC,则是与内存中的一个表面相关联
hdc表示先有设备上下文环境的句柄,如果该句柄为NULL,该函数创建一个与应用程序的当前显示器兼容的内存设备上下文环境
返回值:如果成功,则返回内存设备上下文环境的句柄;如果失败,则返回值为NULL
当不再需要内存设备上下文环境时,可调用DeleteDc函数删除它
10、SelectObject函数
该函数选择一对象到指定的设备上下文环境中,该新对象替换先前的相同类型的对象
hdc设备上下文环境的句柄
hgdiobj被选择的对象的句柄,该指定对象必须有如下的函数创建
位图:CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDIBitmap, CreateDIBsection
画刷:CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush
字体:CreateFont, CreateFontIndirect
笔:CreatePen, CreatePenIndirect
区域:CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreateRectRgn, CreateRectRgnIndirect
返回值:如果选择对象不是区域并且函数执行成功,那么返回值是被取代的对象的句柄;如果选择对象是区域并且函数执行成功,返回如下一值:
SIMPLEREGION:区域由单个矩形组成
COMPLEXREGION:区域由多个矩形组成
NULLREGION:区域为空
如果发生错误并且选择对象不是一个区域,那么返回值为NULL,否则返回HGDI_ERROR
11、BitBlt函数
该函数对指定的源设备环境区域中像素进行位块(bit_block)转换,以传送到目标设备环境
hdcDest指向目标设备环境的句柄
x指定目标矩形区域左上角的X轴逻辑坐标
y指定目标矩形区域左上角的Y周逻辑坐标
nWidth指定源在目标矩形区域的逻辑宽度
nHeight指定源在目标矩形区域的逻辑高度
hSrcDC指向源设备环境的句柄
xSrc指定源矩形区域左上角的X轴逻辑坐标
ySrc指定源矩形区域左上角的Y轴逻辑坐标
dwRop指定光栅操作代码。这些代码将定义源矩形区域的颜色数据,如何与目标矩形区域的颜色数据组合以完成最后的颜色
其中之一:SRCCOPY:将源矩形区域直接拷贝到目标矩形区域(比较好用)
返回值:如果函数成功,那么返回值非零;如果函数失败,则返回值为零。
12、DeleteDC函数
该函数删除指定的设备上下文环境(DC)
hdc设备上下文环境的句柄
返回值:成功,返回非零值;失败,返回0