一个C语言运行库大致包含如下功能:
*启动与退出--包括入口函数即入口函数所依赖的其他函数等
*标准函数--由C语言标准规定的C语言标准库所拥有的函数实现
*I/O--I/O功能的封装和实现
*堆--堆的封装和实现
*语言实现--语言中的一些特殊功能的实现
*调试--实现调试功能的代码
fread函数分析:其函数声明如下
size_t fread(
void *buffer,
size_t elementSize,
size_t count,
FILE *stream
)_
此处size_t表示数据大小的类型,定义为unsigned int 。fread有4个参数,其功能是尝试从文件流stream里读取count个大小为elementSize个字节的数据,存储在buffer里,返回实际读取的字节数。
BOOL ReadFile(
HANDLE hFile,
LPVOID lpBuffer,
DWORD nNumberofBytesToRead,
LPDWORD lpNumberBytesRead,
LPOVERLAPPED lpOverlapper
)
ReadFile的第一个参数hFile为所要读取的文件句柄,其对应fread里面的stream参数,第二个参数lpBuffer是读取文件内容的缓冲区,相对与fread参数中的buffer,第三个参lpL数nNumberOfBytesToRead为要读取多个字节,其对应fread中elementsSize*count;第四个参数lpNumberOfBytesRead为一个指向DWORD类型的指针,它用于返回读取多少个字节;最后参数是没有用的,可以忽略。