VC++讲义附录2 常用库函数

合集下载

c语言库函数大全

c语言库函数大全

c语言库函数大全Afx全局函数AfxBeginThread:开始一个新的线程AfxEndThread:结束一个旧的线程AfxFormatString1:类似printf一般地将字符串格式化AfxFormatString2:类似printf一般地将字符串格式化AfxMessageBox:类似Windows API 函数MessageBoxAfxOuputDebugString:将字符串输往除错装置AfxGetApp:获得application object (CWinApp派生对象)的指针AfxGetMainWnd:获得程序主窗口的指针AfxGetInstance:获得程序的instance handleMFC数据类型下面这些是和Win32程序共同使用的数据类型BOOL:布尔值,取值为TRUE or FALSEBSTR:32-bit 字符指针BYTE:8-bit整数,未带正负号COLORREF:32-bit数值,代表一个颜色值DWORD:32-bit整数,未带正负号LONG:32-bit整数,带正负号LPARAM:32-bit整数,作为窗口函数或callback函数的一个参数LPCSTR:32-bit指针,指向一个常数字符串LPSTR:32-bit指针,指向一个字符串LPCTSTR:32-bit指针,指向一个常数字符串,此字符串可以移植到Unicode(世界性的字符集)和DBCS(亚洲字符集)LPTSTR:32-bit指针,指向一个字符串,此字符串可以移植到Unicode和DBCSLPVOID:32-bit指针,指向一个未指定类型的数据LPRESULT:32-bit数值,作为窗口函数或callback函数的返回值UINT:在Win16中是一个16-bit 未带正负号整数,在Win32中是一个32-bit 未带正负号整数,WNDPROC:32-bit指针,指向一个窗口函数WORD:16-bit 整数,未带正负号WPARAM:窗口函数或callback函数的一个参数,在Win16中是16-bit,在Win32中是32-bit下面这些是MFC独特的数据类型POSITION:一个数值,代表collection对象(例如数组或链表)中的元素位置,常用于MFC collection classes (即数据处理类,如CArray)LPCRECT:32-bit指针,指向一个不变的RECT结构CSize说明一个矩形的高和宽,调用CDC::GetTextExtent成员函数计算使用当前字体的一行文字的高和宽决定的尺寸。

常用C语言标准库函数

常用C语言标准库函数

常用C语言标准库函数C语言编译系统提供了众多的预定义库函数和宏。

用户在编写程序时,可以直接调用这些库函数和宏。

这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。

1.测试函数Isalnum原型:int isalnum(int c)功能:测试参数c是否为字母或数字:是则返回非零;否则返回零头文件:ctype.hIsapha原型:int isapha(int c)功能:测试参数c是否为字母:是则返回非零;否则返回零头文件:ctype.hIsascii原型:int isascii(int c)功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零头文件:ctype.hIscntrl原型:int iscntrl(int c)功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零头文件:ctype.hIsdigit原型:int isdigit(int c)功能:测试参数c是否为数字:是则返回非零;否则返回零。

头文件:ctype.hIsgraph原型:int isgraph(int c)功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零头文件:ctype.hIslower原型:int islower(int c)功能:测试参数c是否为小写字母:是则返回非零;否则返回零 头文件:ctype.hIsprint原型:int isprint(int c)功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零头文件:ctype.hIspunct原型:int ispunct(int c)功能:测试参数c是否为标点符号:是则返回非零;否则返回零 头文件:ctype.hIsupper原型:int isupper(inr c)功能:测试参数c是否为大写字母:是则返回非零;否则返回零Isxdigit原型:int isxdigit(int c)功能:测试参数c是否为十六进制数:是则返回非零;否则返回零2.数学函数abs原型:int abs(int i)功能:返回整数型参数i的绝对值头文件:stdlib.h,math.hacos原型:double acos(double x)功能:返回双精度参数x的反余弦三角函数值头文件:math.hasin原型:double asin(double x)功能:返回双精度参数x的反正弦三角函数值头文件:math.hatan原型:double atan(double x)功能:返回双精度参数的反正切三角函数值头文件:math.hatan2原型:double atan2(double y,double x)功能:返回双精度参数y和x由式y/x所计算的反正切三角函数值 头文件:math.hcabs原型:double cabs(struct complex znum)功能:返回一个双精度数,为计算出复数znum的绝对值。

C语言常用库函数

C语言常用库函数
free
Void freevoid p
释放p所指的内存区

malloc
Void malloc unsigned size
检查ch是否大写字母A~Z
是,返回1;不是,则返回0
ctype.h
isxdigit
IntisxБайду номын сангаасigit int ch;
检查ch是否一个十六进制数字字符即0~9,或A~F,或a~f
是,返回1;不是,则返回0
ctype.h
strcat
char strcatchar str1,char str2;
把字符串str2接到str1后面,str1最后面的’\0’被取消
计算sin-1x的值
计算结果
X应在-1到1范围内
atan
double atandouble x
计算tan-1x的值
计算结果
Atan2
double atan2double x,double y
计算tan-1x/y的值
计算结果
cos
double cosdouble x
计算cosx的值
计算结果
X的单位为弧度
Int ispunct int ch;
检查ch是否标点字符不包括空格,即除字母、数字和空格以外的所有可打印字符
是,返回1;不是,则返回0
ctype.h
isspace
Int isspace int ch;
检查ch是否空格符、跳格符制表符或换行符
是,返回1;不是,则返回0
ctype.h
isupper
Int isupper int ch;
把ptr所指向的n size个字节输出到fp所指向的文件中

VC函数大全

VC函数大全

VC 函数大全1.API之网络函数WNetAddConnection创建同一个网络资源的永久性连接WNetAddConnection2创建同一个网络资源的连接WNetAddConnection3创建同一个网络资源的连接WNetCancelConnection结束一个网络连接WNetCancelConnection2结束一个网络连接WNetCloseEnum结束一次枚举操作WNetConnectionDialog启动一个标准对话框,以便建立同网络资源的连接WNetDisconnectDialog启动一个标准对话框,以便断开同网络资源的连接WNetEnumResource枚举网络资源WNetGetConnection获取本地或已连接的一个资源的网络名称WNetGetLastError获取网络错误的扩展错误信息WNetGetUniversalName获取网络中一个文件的远程名称以及/或者UNC(统一命名规范)名称WNetGetUser获取一个网络资源用以连接的名字WNetOpenEnum启动对网络资源进行枚举的过程2.API之消息函数BroadcastSystemMessage将一条系统消息广播给系统中所有的顶级窗口GetMessagePos取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime取得消息队列中上一条消息处理完毕时的时间PostMessage将一条消息投递到指定窗口的消息队列PostThreadMessage将一条消息投递给应用程序RegisterWindowMessage获取分配给一个字串标识符的消息编号ReplyMessage答复一个消息SendMessage调用一个窗口的窗口函数,将一条消息发给那个窗口SendMessageCallback将一条消息发给窗口SendMessageTimeout向窗口发送一条消息SendNotifyMessage向窗口发送一条消息3.API之文件处理函数CloseHandle关闭一个内核对象。

C语言库函数大全

C语言库函数大全

C语言库函数大全absread()读磁盘绝对扇区函数原形:int absread(int drive,int num,int sectnum,void *buf)功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。

参数:drive=0对应A盘,drive=1对应B盘。

返回值:0:成功;-1:失败。

头文件:dos.habswrite()写磁盘绝对扇区函数原形:int abswrite(int drive,int nsects,int lsect,void *buffer)drive=0(A驱动器)、1(B驱动器)、nsects=要写的扇区数(最多64K个);lsect=起始逻辑扇区号;buffer=要写入数据的内存起始地址。

功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。

返回值:0:成功;-1:失败。

头文件:dos.hatof()将字符串转换成浮点数的函数原形:double atof(const char *s)功能:把s所指向的字符串转换成double类型。

s格式为:符号数字.数字 E符号数字返回值:字符串的转换值。

头文件:math.h、stdlib.hatoi()将字符串转换成整型数的函数原形:int atoi(const char *s)功能:把s所指向的字符串转换成int类型。

s格式为:符号数字返回值:字符串的转换值。

若出错则返回0。

头文件:stdlib.hatol()将字符串转换成长整型数的函数原形:long atol(const char *s)功能:把s所指向的字符串转换成long int类型。

s格式为:符号数字返回值:字符串的转换值。

若出错则返回0。

头文件:stdlib.hbcd()把一个数转换成对应的BCD码的函数原形:bcd bcd(int x)bcd bcd(double x)bcd bcd(double x,int decimals)注意:BCD码的精度可达17位。

vc常用函数

vc常用函数

VC中网络编程的常用函数1.SOCKET类型SOCKET是socket套接字类型,在WINSOCK2.H中有如下定义:typedef unsigned int u_int;typedef u_int SOCKET;可知套接字实际上就是一个无符号整型,它将被Socket环境管理和使用。

套接字将被创建、设置、用来发送和接收数据,最后会被关闭。

2.WORD类型、MAKEWORD、LOBYTE和HIBYTE宏WORD类型是一个16位的无符号整型,在WTYPES.H中被定义为:typedef unsigned short WORD;其目的是提供两个字节的存储,在Socket中这两个字节可以表示主版本号和副版本号。

使用MAKEWORD宏可以给一个WORD类型赋值。

例如要表示主版本号2,副版本号0,可以使用以下代码:WORD wVersionRequested; wVersionRequested = MAKEWORD( 2, 0 );注意低位内存存储主版本号2,高位内存存储副版本号0,其值为0x0002。

使用宏LOBYTE可以读取WORD的低位字节,HIBYTE可以读取高位字节。

3. WSADATA类型和LPWSADATA类型WSADATA类型是一个结构,描述了Socket库的一些相关信息,其结构定义如下:typedef struct WSAData {WORD wVersion;WORD wHighVersion;char szDescription[WSADESCRIPTION_LEN+1];char szSystemStatus[WSASYS_STATUS_LEN+1];unsigned short iMaxSockets;unsigned short iMaxUdpDg;char FAR * lpVendorInfo;} WSADATA;typedef WSADATA FAR *LPWSADATA;值得注意的就是wVersion字段,存储了Socket的版本类型。

VC库函数大全

VC库函数大全

附录2 常‎用库函数‎ M‎i cros‎o ft C‎为应用程序‎设计人员提‎供了大量的‎库函数,其‎功能覆盖了‎程序设计的‎方方面面,‎为每个程序‎员所必须掌‎握。

在本附‎录中,我们‎选列了其中‎较常用的库‎函数,供读‎者查询参考‎。

为了节省‎篇幅,我们‎只列出了函‎数原型和简‎单的功能说‎明。

如果在‎使用时对某‎库函数的功‎能、参数设‎置和返回值‎等仍有疑问‎,可以直接‎查看MSD‎N中的有关‎说明。

‎1.分类库‎函数,原型‎均在头文件‎c type‎.h中。

这‎组库函数实‎际上均为带‎参数的宏。

‎原型:‎i nt i‎s alph‎a(int‎c);‎功能:如‎果c为字母‎返回非0值‎,否则返回‎0。

原型‎:int‎isdi‎g it(i‎n t c)‎;功能:‎如果c为‎数字返回非‎0值,否则‎返回。

原‎型:in‎t isa‎l num(‎i nt c‎);功能‎:如果c‎为字母或数‎字返回非0‎值,否则返‎回0。

原‎型:in‎t isl‎o wer(‎i nt c‎);i‎n t is‎u pper‎(int ‎c);功‎能:如果‎c为小写(‎大写)字母‎返回非0值‎,否则返回‎0。

原型‎:int‎ispr‎i nt(i‎n t c)‎;功能‎:如果c‎为可打印字‎符(包括字‎母、数字、‎空格和各种‎符号等)返‎回非0值,‎否则返回0‎。

原型:‎int ‎i sspa‎c e(in‎t c);‎功能:‎如果c为空‎格、制表符‎、回车换行‎符等则返回‎非0值,否‎则返回0。

‎原型:‎i nt t‎o lowe‎r(int‎ch);‎int‎toup‎p er(i‎n t ch‎);功能‎:将字符‎转换为小写‎或大写字符‎。

2.目‎录操作函数‎,用于在程‎序中处理文‎件目录系统‎,原型均在‎头文件di‎r ect.‎h中。

原‎型:in‎t _ch‎d ir(‎c onst‎char‎*dir‎n ame ‎);功能‎:改变当‎前目录。

c语言标准库函数

c语言标准库函数

c语言标准库函数C语言标准库函数。

C语言标准库函数是C语言程序设计中不可或缺的一部分,它包含了大量的函数,用于完成各种各样的任务。

这些函数可以帮助程序员简化代码,提高程序的可读性和可维护性。

本文将介绍C语言标准库函数的一些常用部分,希望能对大家有所帮助。

一、stdio.h。

stdio.h是C语言标准库中最常用的头文件之一,它包含了一系列用于输入输出的函数。

比如,printf和scanf函数分别用于输出和输入数据,而fopen和fclose函数则用于打开和关闭文件。

这些函数在日常的程序设计中经常被用到,可以说是C 语言程序设计中的基础。

二、stdlib.h。

stdlib.h是C语言标准库中包含了一些常用函数的头文件,比如malloc和free 函数用于动态内存的分配和释放,atoi和atof函数用于字符串和数字之间的转换。

这些函数在处理内存和字符串时非常有用,可以帮助程序员更加灵活地处理数据。

三、string.h。

string.h是C语言标准库中用于字符串操作的头文件,它包含了一系列用于字符串处理的函数。

比如,strcpy和strcat函数用于字符串的复制和连接,strlen函数用于获取字符串的长度,strcmp函数用于比较两个字符串的大小。

这些函数在处理字符串时非常有用,可以帮助程序员更加方便地操作字符串数据。

四、math.h。

math.h是C语言标准库中用于数学运算的头文件,它包含了一系列数学函数。

比如,sin和cos函数用于计算正弦和余弦值,sqrt函数用于计算平方根,pow函数用于计算幂。

这些函数在数学计算中非常有用,可以帮助程序员更加方便地进行数学运算。

五、time.h。

time.h是C语言标准库中用于时间操作的头文件,它包含了一系列用于时间处理的函数。

比如,time和clock函数用于获取当前时间和时钟时间,difftime函数用于计算时间差,strftime函数用于格式化时间。

这些函数在处理时间和日期时非常有用,可以帮助程序员更加方便地处理时间数据。

c语言标准库函数

c语言标准库函数

c语言标准库函数C语言标准库函数。

C语言是一种广泛应用的程序设计语言,而标准库函数则是C语言中非常重要的一部分。

标准库函数是C语言提供的一系列函数库,其中包含了大量的函数,可以帮助程序员完成各种任务,比如数学运算、字符串处理、文件操作等。

本文将对C语言标准库函数进行详细介绍,希望能够帮助读者更好地理解和应用这些函数。

首先,我们来看一下C语言标准库函数的分类。

C语言标准库函数主要分为以下几类,输入输出函数、字符串处理函数、数学函数、时间日期函数、动态内存分配函数、文件操作函数等。

每一类函数都有其特定的作用和用法,程序员可以根据具体的需求选择合适的函数进行调用。

接下来,我们将逐一介绍这些类别中的一些常用函数。

首先是输入输出函数,其中最常用的是printf()和scanf()函数。

printf()函数用于将输出内容显示在屏幕上,而scanf()函数则用于从键盘上接收输入的内容。

这两个函数在C语言程序中使用频率非常高,几乎所有的程序都会用到它们。

其次是字符串处理函数,C语言中提供了丰富的字符串处理函数,比如strlen()、strcpy()、strcat()、strcmp()等。

这些函数可以帮助程序员对字符串进行各种操作,比如获取字符串长度、复制字符串、拼接字符串、比较字符串等。

在实际编程中,字符串处理函数是非常常用的,特别是在处理文本数据时更是如此。

再者是数学函数,C语言提供了大量的数学函数,比如sin()、cos()、tan()、sqrt()、pow()等。

这些函数可以帮助程序员完成各种复杂的数学运算,比如三角函数计算、开方运算、幂运算等。

在科学计算和工程计算领域,数学函数是必不可少的工具。

此外,C语言还提供了丰富的时间日期函数,比如time()、localtime()、strftime()等。

这些函数可以帮助程序员获取当前的系统时间、将时间格式化输出等。

在一些需要时间相关操作的程序中,时间日期函数是非常重要的。

C语言常用库函数(含详细用法)

C语言常用库函数(含详细用法)
FILE *fopen(char *filename,char *mode)
以mode指定的方式打开名为filename的文件
成功,返回文件指针(文件信息区的起始地址),否则返回NULL
int fprintf(FILE *fp, char *format, args,…)
把args,…的值以format指定的格式输出到fp指定的文件中
char *strchr(char *s,int ch)
在s所指字符串中,找出第一次出现字符ch的位置
返回找到的字符的地址,找不到返回NULL
int strcmp(char *s1,char *s2)
对s1和s2所指字符串进行比较
s1<s2,返回负数;s1= =s2,返回0;s1>s2,返回正数
char *strcpy(char *s1,char *s2)
分配size个字节的存储空间
分配内存空间的地址;如不成功,返回0
void *realloc(void *p,unsigned size)
把p所指内存区的大小改为size个字节
新分配内存空间的地址;如不成功,返回0
int rand(void)
产生0~32767的随机整数
返回一个随机整数
void exit(int state)
输出的数据项个数
int getc (FILE *fp)
从fp所指文件中读取一个字符
返回所读字符,若出错或文件结束返回EOF
int getchar(void)
从标准输入设备读取下一个字符
返回所读字符,若出错或文件结束返回-1
char *gets(char *s)
从标准设备读取一行字符串放入s所指存储区,用’\0’替换读入的换行符

c语言 基本数据类型与常用库函数

c语言 基本数据类型与常用库函数

指数形式:由正号、负号、数字、小数点和指数符号e(或E)
组成。
字母e(或E)之前必须有数字(整数或实数),且e后面的指数必
须为整数。 如: 123e4 0.2e-1
注意: 1)所赋初值和说明的类型必须一致。 如:int a=2.3; 2) 变量必须赋可以确定的值,先赋值再引用。 如:int a, b=a/2; 3)由于变量实质是内存一块区域,因此变量 指在某一时刻只能存储一个值,一旦一个新 的值填入,则旧的值就消失,且永远不能恢 复。变量实际上是保存的最后一次赋予的值。 如:先说明:int a=0;再有动作:a 2 和 a 3,则过程和结果如何?
10
练习
下列标识符(变量名)哪些是合法的? day1, student_name, _total, M.D, 123A, #wer, int , if
11
2.1 2.2
字符集与标识符
基本数据类型 常量与变量
2.3
2.4 2.5
输入/输出函数用法
常用函数
12
§2.2
本章讨论 基本类型数据
基本数据类型
整型常量 实型常量 字符型常量 字符串常量
100,125,-100,0 3.14 ,0.125,-3.789 ‘a‟, „b‟,‘2‟ “hello”, “0.912e8”
16
符号常量 在程序设计中,需要多次用到某些常数,或者 有些数值特别关键,因此将其定义为符号常量, 便于程序的阅读和修改。 符号常量是在程序中指定用一个标识符代表一 个常量。 定义格式:
8
(二)用户指定的标识符:是以52个英文字母 (a~z,A~Z)或者下划线(_)开头, 后面 可以跟随任意的字母、数字、下划线组成的字 符序列。

VC常用系统函数

VC常用系统函数

附录B常用系统函数在使用C++语言进行编程时,许多很基本和很重要的功能都由系统的库函数和类库来实现。

为便于学习和使用,本附录列出了一些常用的库函数,供读者查阅。

本附录的依据是Windows环境下VC十+编译系统。

由于不同编译系统提供的库函数和类库可能会稍有差异,读者在实际使用时应参考所使用系统的手册。

为方便查阅,本附录的内容基本按函数类型分类,不同的分类中的内容可能会有重叠。

对每一个函数,包含对其名称、原型、参数的含义、所需头文件、返回值和函数的功能的简洁说明。

凡是函数名称以下划线开头的(如_open)都是Microsoft特殊函数,只适合在Windows 9x和WinNT平台上使用。

其它函数均为ANSI标准函数,在任何平台下都能使用。

为节约篇幅,考虑到本书的读者大多为C十+语言的初学者,本附录只收录了一些常用的函数。

对一些功能相同的函数,省略了其宽字符和多字节字符的版本,读者若需要查阅这方面的内容,可参考相应的资料。

B.1 缓冲区操作函数函数名:_memccpy函数原型:void *_memccpy(void *dest,const void *src,int c,unsigned int count);参数:dest目的指针;sro源指针;c拷贝的最后字符;count字符个数。

所需头文件:<memory.h>或<string.h>功能:从src所指向的地址开始拷贝。

个或多个字节到dest中。

当指定字符c已拷贝或已拷贝count个字节后停止。

返回值:如果字符c被拷贝,返回dest中该字符直接后继字节的指针;如果c 没有被拷贝则返回NULL。

函数名:memchr函数原型:void *memchr(const void *buf,int c,sizet count);参数:buf缓冲区的指针;c查找的字符;count检查的字符个数。

所需头文件:<memory.h>或<string.h>功能:查找buf的前count个字节中c的第一次出现,当找到c或已检查完count 个字节时停止。

C语言常用的库函数表

C语言常用的库函数表

附录C C语言常用的库函数
库函数并不是C语言的一部分,它是由编译系统根据一般用户的需要编制并提供给用户使用的一组程序。

每一种C编译系统都提供了一批库函数,不同的编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。

ANSIC标准提出了一批建议提供的标准库函数。

它包括了目前多数C编译系统所提供的库函数,但也有一些是某些C编译系统未曾实现的。

考虑到通用性,本附录列出ANSIC建议的常用库函数。

由于C库函数的种类和数目很多,例如还有屏幕和图形函数、时间日期函数、与系统有关的函数等,每一类函数又包括各种功能的函数,限于篇幅,本附录不能全部介绍,只从教学需要的角度列出最基本的。

读者在编写C程序时可根据需要,查阅有关系统的函数使用手册。

1.数学函数
使用数学函数时,应该在源文件中使用预编译命令:
2.字符函数
在使用字符函数时,应该在源文件中使用预编译命令:
3.字符串函数
使用字符串中函数时,应该在源文件中使用预编译命令:
4.输入输出函数
在使用输入输出函数时,应该在源文件中使用预编译命令:
5.动态存储分配函数
在使用动态存储分配函数时,应该在源文件中使用预编译命令:
6.其他函数
有些函数由于不便归入某一类,所以单独列出。

使用这些函数时,应该在源文件中使用预编译命令:。

附录II C 语言常用库函数_C语言程序设计(第2版)_[共13页]

附录II C 语言常用库函数_C语言程序设计(第2版)_[共13页]

函数名
clearerr close creat
eof fclose feof
Hale Waihona Puke 函数类型与形参类型void clearerr(fp) FILE *fp;
int close(fp) FIIE *fp;
int creat(filename,mode) char *filename; int mode:
int eof(fd) int fd;
frexp
fmod
函数类型与形参类型
double acos(x) double x;
double asin(x) double x;
double atan(x) double x; double atan2(x,y) double x,y;
double cos(x) double x;
double cosh(x) double x; double exp(x) double x; double fabs(x) double x; double floor(x) double x;
返回数字部分 p 0.5≤p<1
求整除 x/y 的余数,并以双精度 实型返回该余数
返回 x/y 的余数
double log(x)
log
double x;
计算自然对数 ln(x)值 要求:x>0
ln(x)值
264
附录 II C 语言常用库函数
续表
函数名
函数类型与形参类型
功能
返回值
log10
modf
pow sin sinh sqrt tan tanh
附录 II C 语言常用库函数
C 语言系统提供了丰富的标准库函数。本附录列出一些 C 语言常用的库函数,并对每个函 数的功能做简单的介绍,如果想了解更详细的资料,请查阅 C 语言函数使用手册。

VC函数库详解

VC函数库详解

函数名:_access所属库名:<io.h>函数功能:检查某个文件的存取方式,比如说是只读方式、只写方式等。

如果指定的存取方式有效,则函数返回0,否则函数返回-1使用方法:int _access( const char *path, int mode );范例:这个例子使用-access函数来检查文件access.c 是否是可写的:include <io.h>include <stdio.h>include <stdlib.h>void main( void ){if( (_access( "ACCESS.C", 0 )) != -1 ){ printf( "File ACCESS.C exists\n" );if( (_access( "ACCESS.C", 2 )) != -1 )函数名:_alloca所属库名:<malloc.h>函数功能:在堆栈上分配一个内存空间,返回一个指向该内存空间地址的void型指针使用方法:void *_alloca( size_t size );范例:在堆栈上分配一个50字节的内存空间:Int *pointer; size_t Size=100; Pointer=(int *)_alloca(Size);函数名:_atoi64所属库名:<stdlib.h>函数功能:把一个字符串转换为_int64型使用方法:__int64 _atoi64( const char *string ); 范例:和atof函数类似函数名:_beginthread所属库名:<process.h>函数功能:创建一个线程使用方法:unsigned long _beginthread( void( __cdecl *start_address )( void * ), unsigned stack_size, void *arglist ); unsigned long _beginthreadex(范例:这个例子显示了_beginthread函数的基本用法,FirstThread是线程的起始地址,数字20是线程的堆栈空间,常量NULL是线程的参数表:_beginthread(FirstThread,20,NULL);函数名:_beginthreadex所属库名:<process.h>函数功能:创建一个线程使用方法:unsigned long _beginthreadex( void *security, unsigned stack_size, unsigned ( __stdcall *start_address )( void * ), void *arglist, unsigned initflag, unsigned *thrdaddr );范例:和_beginthread函数类似函数名:_c_exit所属库名:<process.h>函数功能:进行清除操作(释放已占用的内存空间等),但是不终止程序使用方法:void _c_exit( void );范例:和_cexit函数类似函数名:_cabs所属库名:<math.h>函数功能:计算一个复数的绝对值使用方法:double _cabs( struct _complex z ); 范例:把一个复数ComplexNumber赋给变量d:struct _complex number = { 3.0, 4.0 };double d; d = _cabs( number );函数名:_cexit所属库名:<process.h>函数功能:进行清除操作(释放已占用的内存空间等),但是不终止程序使用方法:void _cexit( void );范例:这个例子中如果用户按下y键,则进行清除操作:int button; _cputs("Yes or No?"); button=_getch(); if(toupper(button)=='y') _cexit();函数名:_cgets所属库名:<conio.h>函数功能:从键盘得到一个字符串使用方法:char *_cgets( char *buffer );范例:数字80用来限制屏幕上每行最多只能输入80个字符:char *string; char Buffer[82]={80}; string=_cgets(Buffer);函数名:_chdir所属库名:<direct.h>函数功能:改变当前的工作目录,若成功则返回0,否则返回-1,使用方法:int _chdir( const char *dirname );范例:这个例子中实现了把当前目录改为d:\visual c++: _chdir("d;\\visual c++");函数名:_chdrive所属库名:<direct.h>函数功能:改变当前的工作驱动器使用方法:int _chdrive( int drive );范例:这个例子中实现了检查计算机中有多少个可用的驱动器(PC机最多可以装26个驱动器):int Drive=1; while(Drive<=26) {if(_chdrive(Drive)==0)printf("%c\n",Drive+'A'-1); Drive++;}函数名:_chgsign所属库名:<float.h>函数功能:改变一个double型数的正负号(正变为负,负变为正)使用方法:double _chgsign( double x );范例:给double型变量x赋值为-12345.678:double x; x=_chgsign(12345.678);函数名:_chmod所属库名:<io.h>函数功能:改变文件的读写许可设置,如果改变成功返回0,否则返回-1使用方法:int _chmod( const char *filename, int pmode );范例:这个例子中实现了把文件sample.txt设置为只读文件:if(_chmod("sample.txt",_S_IREAD)==-1)cout<<"文件sample.txt不存在"; else cout<<"文件sample.txt变为只读文件";函数名:_chsize所属库名:<io.h>函数功能:改变文件的字节长度,如果成功返回0,否则返回-1使用方法:int _chsize( int handle, long size ); 范例:和_chmod函数类似函数名:_clear87所属库名:<float.h>函数功能:返回并且清除浮点状态字使用方法:unsigned int _clear87( void );范例:这个例子中变量x是float型的,把一个double 型的值赋给它时可能会引起数据的溢出,这个时候我们使用_clear87函数来检查溢出的情况:float x; double y=1.4e-35; x=y; printf("浮点状态字%x代表数据的溢出\n",_clear87());函数名:_clearfp所属库名:<float.h>函数功能:返回并且清除浮点状态字使用方法:unsigned int _clearfp( void );范例:和_clear87函数类似函数名:_close所属库名:<io.h>函数功能:关闭文件,如果成功返回0,否则返回-1使用方法:int _close( int handle );范例:这个例子中先以只读方式打开文件sample.txt,然后再把它关闭:int Handle; Handle=_open(" c:\\sanmple.txt",_O_RDONL Y); if(Handle==-1) perror("出错!"); else {cout<<"文件已经打开"; _close(Handle); }函数名:_commit所属库名:<io.h>函数功能:把某个文件的数据直接存储到磁盘上,如果成功返回0,否则返回-1使用方法:int _commit( int handle );范例:这个例子中可以把文件的数据在操作中及时写入磁盘,可以避免一些以外情况导致文件的数据丢失:int Handle; if( (Handle=_open("sample.txt",_O_RDWR))!=-1) { ...... _commit(Handle); ...... _close(Handle);函数名:_control87所属库名:<float.h>函数功能:返回或者设置浮点控制字使用方法:unsigned int _control87( unsigned int new, unsigned int mask );范例:_control87函数可以控制浮点类型数据的精度:double Value=0.1; _control87(_PC_24,MCW_PC); printf("24位精度:%f\n",Value); _control87(_CW_DEFAULT,0xFFFFF);printf("缺省精度:%f\n",Value);函数名:_controlfp所属库名:<float.h>函数功能:返回或者设置浮点控制字使用方法:unsigned int _controlfp( unsigned int new, unsigned int mask );范例:和_control87函数类似函数名:_copysign所属库名:<float.h>函数功能:以第二个参数y的符号(正或负)返回第一个参数x使用方法:double _copysign( double x, double y ); 范例:这个例子中变量a的值为-0.4567: double x=0.4567; double y=-0.123; double a; a=_copysign(x,y);函数名:_cprintf所属库名:<conio.h>函数功能:用指定的格式在显示器上输出信息使用方法:int _cprintf( const char *format [, argument] ... );范例:int I = -16, h = 29; unsigned u = 62511; char c = 'A'; char s[] = "Test";_cprintf( "%d %.4x %u %c %s\r\n", I, h, u, c, s );函数名:_cputs所属库名:<conio.h>函数功能:在显示器上输出一个字符串,若成功则返回0,否则返回一个非0值使用方法:int _cputs( const char *string );范例:这个例子中实现了在显示器上显示“hello!”:char *p="hello!"; _cputs(p);函数名:_creat所属库名:<io.h>函数功能:创建一个新的文件,若成功返回0,否则返回-1使用方法:int _creat( const char *filename, int pmode );范例:这个例子中实现了创建一个新文件sample.txt:int Handle; Handle=_creat( "sample.txt",_S_IREAD | _S_IWRITE);函数名:_cscanf所属库名:<conio.h>函数功能:从键盘上输入已经指定格式的数据使用方法:int _cscanf( const char *format [, argument] ... );范例:这个例子中%d就是格式控制:int x;_csanf("%d",&x);函数名:_cwait所属库名:<process.h>函数功能:某个进程开始进入等待状态直到另一个进程终止为止使用方法:int _cwait( int *termstat, int procHandle, int action );范例:这个例子中若变量x为2将显示两个carl:struct process{ int id; char name[40]; } process[3]={{0,"ann"},{0,"beth"},{0,"carl"}}; void main(int argc,char *argv[]) { int index,result; if(argc==1) {for (index=0; index<3;index++)process[index].id=_spawnl(_P_函数名:_dup所属库名:<io.h>函数功能:为一个已经打开的文件建立第二个句柄使用方法:int_dup( int handle );范例:这个例子中给已经有句柄的标准输出设备(stdout)建立第二个句柄Monitor ,然后再恢复原来的句柄:int Monitor; Monitor = _dup(1); ...... _dup2(Monitor,1);函数名:_dup2所属库名:<io.h>函数功能:为一个文件重新分配句柄使用方法:int _dup2( int handle1, int handle2 ); 范例:请参看_dup函数函数名:_ecvt所属库名:<stdlib.h>函数功能:把一个double型的数据转换为一个字符串使用方法:char *_ecvt( double value, int count, int *dec, int *sign );范例:这个例子中变量Prcision存储数字的精度,变量Decimal存储小数点的位置,变量Sign存储数字的符号:char *String; double Value =2.143554; int Precision =10, Decimal, Sign; String= _ecvt(Value,Precision,&Decimal,&sign);函数名:_endthread所属库名:<process.h>函数功能:终止_beginthread函数创建的某个线程使用方法:void _endthread( void );范例:请参看_beginthread函数函数名:_endthreadex所属库名:<process.h>函数功能:终止_beginthread函数创建的某个线程使用方法:void _endthreadex( unsigned retval ); 范例:和_endthread函数类似函数名:_eof所属库名:<io.h>函数功能:测试文件指针是否指向文件尾部,若指向文件尾部返回0,否则返回-1使用方法:int _eof( int handle );范例:这个例子中打开文件eof.c,每次读取10个字节,直到全部字节被读完为止,然后显示文件的长度:void main( void ){int fh, count, total = 0;char buf[10]; if( (fh = _open( "eof.c", _O_RDONL Y )) == - 1 ) { perror( "Open failed"); exit( 1 );} while( !_eof( fh ) ) { if( (count = _read( f函数名:_execl所属库名:<process.h>函数功能:在父进程中装载并执行新的子进程,若成功则返回0,否则返回-1使用方法:int _execl( const char *cmdname, const char *arg0, ... Const char *argn, NULL );范例:这个例子介绍了以_exec开头的8个函数的用法:char *my_env[] = { "THIS=environment will be", "PASSED=to new process by", "the EXEC=functions",NULL}; void main() { char *args[4], prog[80];int ch; printf( "Enter name of program to exec: " ); gets( prog函数名:_execle所属库名:<process.h>函数功能:在父进程中装载并执行新的子进程,若成功则返回0,否则返回-1使用方法:int _execle( const char *cmdname, const char *arg0, ... Const char *argn, NULL, const char *const *envp );范例:请参看_execl函数函数名:_execlp所属库名:<process.h>函数功能:在父进程中装载并执行新的子进程,若成功则返回0,否则返回-1使用方法:int _execlp( const char *cmdname, const char *arg0, ... Const char *argn, NULL );范例:请参看_execl函数函数名:_execlpe所属库名:<process.h>函数功能:在父进程中装载并执行新的子进程,若成功则返回0,否则返回-1使用方法:int _execlpe( const char *cmdname, const char *arg0, ... Const char *argn, NULL, const char *const *envp );范例:请参看_execl函数函数名:_execv所属库名:<process.h>函数功能:在父进程中装载并执行新的子进程,若成功则返回0,否则返回-1使用方法:int _execv( const char *cmdname, const char *const *argv ); 范例:请参看_execl函数函数名:_execve所属库名:<process.h>函数功能:在父进程中装载并执行新的子进程,若成功则返回0,否则返回-1使用方法:int _execve( const char *cmdname, const char *const *argv, const char *const *envp );范例:请参看_execl函数函数名:_execvp所属库名:<process.h>函数功能:在父进程中装载并执行新的子进程,若成功则返回0,否则返回-1使用方法:int _execvp( const char *cmdname, const char *const *argv );范例:请参看_execl函数函数名:_execvpe所属库名:<process.h>函数功能:在父进程中装载并执行新的子进程,若成功则返回0,否则返回-1使用方法:int _execvpe( const char *cmdname, const char *const *argv, const char *const *envp );范例:请参看_execl函数函数名:_exit所属库名:<process.h> or <stdlib.h>函数功能:进行清除操作(释放已占用的内存空间等),并且终止当前进程使用方法:void _exit( int status );范例:和exit函数类似函数名:_expand所属库名:<malloc.h>函数功能:改变某个内存区域的字节数使用方法:void *_expand( void *memblock,size_t size );范例:这个例子中把buffer从512个字节扩展到了1024个字节:char *buffer; buffer=(char *)calloc(512,sizeof(char)); cout<<"内存区域为512个字节!"<<endl; buffer=(char *)_expand(buffer,1024); cout<<"内存区域为1024个字节!"; free(buffer);函数名:_fcloseall所属库名:<stdio.h>函数功能:关闭已经打开的所有数据流,若成功则返回被关闭的数据流的个数,否则返回eof 使用方法:int _fcloseall( void );范例:和fclose函数类似函数名:_fcvt所属库名:<stdlib.h>函数功能:把一个double型的数据转换为一个字符串使用方法:char *_fcvt( double value, int count, int *dec, int *sign );范例:和_ecvt函数类似函数名:_fdopen所属库名:<stdio.h>函数功能:把一个以低级I/O方式打开的文件与某个数据流联系起来,即将这个文件“数据流化”,若成功则返回一个指向该数据流的指针,否则返回NULL使用方法:FILE *_fdopen( int handle, const char *mode );范例:这个例子中先以句柄方式打开文件sample.txt,然后以数据流的方式处理该文件:int handle,line=0; FILE *stream; char buffer[120];handle=_open("sample.txt",_O_RDONL Y); steam=_fdopen(handle,"r");while(fgets(buffer,120,stream)!=NULL)line++; fclose(stream); cout<<"文件中有"<<l 函数名:_fgetchar所属库名:<stdio.h>函数功能:从标准输入设备上读取一个字符使用方法:int _fgetchar( void );范例:和fgetc函数类似函数名:_fgetwchar所属库名:<stdio.h> or <wchar.h>函数功能:从标准输入设备读取一个字符使用方法:wint_t _fgetwchar( void );范例:和fgetchar类似函数名:_filelength所属库名:<io.h>函数功能:测试文件的字节长度,若失败返回-1L使用方法:long _filelength( int handle );范例:这个例子中显示了文件sample.txt的字节长度:int Handle; if(Handle=_open("sample.txt",_O_RDWR)!=-1) { cout<<"文件长度是"<<_filelength(Handle)<<"字节"; _close(Handle); }函数名:_filelengthi64所属库名:<io.h>函数功能:测试文件的字节长度,若失败返回-1L使用方法:__int64 _filelengthi64( int handle ); 范例:和_filelength函数类似函数名:_fileno所属库名:<stdio.h>函数功能:得到某个数据流的文件句柄使用方法:int _fileno( FILE *stream );范例:这个例子中显示了标准输出设备stdout的文件句柄:cout<<"标准输出设备sdtout的文件句柄:"<<_fileno(stdout)<<endl;函数名:_findclose所属库名:<io.h>函数功能:关闭已经打开的搜索句柄,释放相关的资源,若成功则返回0,否则返回-1使用方法:int _findclose( long handle );范例:请参看_findfirst函数函数名:_findfirst所属库名:<io.h>函数功能:搜索与指定的文件名称匹配的第一个实例,若成功则返回第一个实例的句柄,否则返回-1L使用方法:long _findfirst( char *filespec, struct _finddata_t *fileinfo );范例:这个例子中实现了搜索当前目录中所有的文本文件(.txt),并且显示出它的名字:long Handle; struct_finddata_t FileInfo; if((Handle=_findfirst("*.txt",&FileInfo))==-1L) cout<<"没有找到匹配的项目"; else { cout<<<<endl; while( _findnext(Handle,&FileInfo)==0) cout<<FileInfo.nam函数名:_findfirst64所属库名:<io.h>函数功能:搜索与指定的文件名称匹配的第一个实例,若成功则返回第一个实例的句柄,否则返回-1L使用方法:__int64 _findfirsti64( char *filespec, struct _finddata_t *fileinfo );范例:和_findfirst函数类似函数名:_findnext所属库名:<io.h>函数功能:搜索与_findfirst函数提供的文件名称匹配的下一个实例,若成功则返回0,否则返回-1使用方法:int _findnext( long handle, struct _finddata_t *fileinfo );范例:请参看_findfirst函数函数名:_findnext64所属库名:<io.h>函数功能:搜索与_findfirst64函数提供的文件名称匹配的下一个实例,若成功则返回0,否则返回-1使用方法:__int64 _findnexti64( long handle, struct _finddata_t *fileinfo );范例:和_findnext函数类似函数名:_finite所属库名:<float.h>函数功能:确定double型参数x是否为有尽小数,若是则返回一个非0值,否则返回0使用方法:int _finite( double x );范例:这个例子测试了double型变量x是否为有尽小数:double x; x=0.39348745497854; if(_finite(x)!=0) cout<<"变量x是有尽小数";函数名:_flushall所属库名:<stdio.h>函数功能:清除所有的数据流和所有的缓冲区使用方法:int _flushall( void );范例:这个例子中将清除所有的数据流和缓冲区:int Count; Count= _flushall();函数名:_fpclass所属库名:<stdio.h>函数功能:返回一个状态字来记录参数x的浮点类信息使用方法:int _fpclass( doublex );范例:double x=5.00000; if(_fpclass(x)==_FPCLASS_PN) cout<<"x是正数";函数名:_fpieee_flt所属库名:<fpieee.h>函数功能:当发生IEEE浮点异常时,引发用户定义的错误处理程序,返回的值即为错误处理程序的返回值使用方法:int _fpieee_flt( unsigned long exc_code, struct _EXCEPTION_POINTERS *exc_info, int handler(_FPIEEE_RECORD *) ); 范例:这个例子是各种浮点异常的错误处理程序的框架:define _EXE_MASK_EM_UNDERFLOW +\_EM_OVERFLOW+\_EM_ZERODIVIDE+\_ EM_INEXACT void main() { __try {_controlfp(_EXC_MASK,_MCW_EM);__except(_fpieee_flt(GetExceptionCode(),GetEx ecptionInformation(),fpieee_Handler)) { …}函数名:_fpreset所属库名:<float.h>函数功能:初始化浮点算术程序包使用方法:void _fpreset( void );范例:这个例子中signal函数捕捉到浮点错误信号,然后调用_fpreset和longjmp函数:jmp_buf jumpmark; int fperr; void main() { int jumpteturn; _control87(0,_MCW_EM); if(signal(SIGFPE,Fphandler)==SIG_ERR) {fprintf(stderr,"出错"); abort(); } jumpreturn=setjmp(jumpmark); if(j函数名:_fputchar所属库名:<stdio.h>函数功能:把一个字符写入标准输出设备,若成功则返回写入的字符数,否则返回EOF使用方法:int _fputchar( int c );范例:和fputc函数类似函数名:_fputwchar所属库名:<stdio.h> or <wchar.h>函数功能:把一个字符写入标准输出设备,若成功则返回写入的字符数,否则返回WEOF 使用方法:wint_t _fputwchar( wint_t c );范例:和fputchar函数类似函数名:_fsopen 所属库名:<stdio.h>函数功能:以共享的方式打开一个数据流使用方法:FILE *_fsopen( const char *filename, const char *mode, int shflag );范例:FILE *Stream; if( (stream = _fsopen( "outfile", "wt", _SH_DENYWR )) != NULL ) fprintf( stream, "No one else in the network can write to this file until we are done.\n" ); fclose( stream ); {函数名:_fstat所属库名:<sys/stat.h> and <sys/types.h>函数功能:返回一个已经打开的文件的状态信息,若成功则返回0,否则返回-1使用方法:int _fstat( int handle, struct _stat *buffer );范例:这个例子中创建了一个文件sample.txt,并写入了一个字符串:int handle,result; char string[]="hello"; struct_stat status; handle=_open("sample.txt",_O_CREST|_O_WR ONL Y); result=_fstat(handle,&status); _close(handle);}函数名:_fstati64所属库名:<sys/stat.h> and <sys/types.h>函数功能:返回一个已经打开的文件的状态信息,若成功则返回0,否则返回-1使用方法:__int64 _fstati64( int handle, struct _stat *buffer );范例:和_fstat函数类似函数名:_ftime所属库名:<sys/types.h> and <sys/timeb.h>函数功能:返回当前时间使用方法:void _ftime( struct _timeb *timeptr ); 范例:这个例子中把当前时间的信息写入结构timebuffer中:struct_time timebuffer; char *p; _ftime(&timebuffer); p=ctime(&(timebuffer.time));函数名:_fullpath所属库名:<stdlib.h>函数功能:把某个相对路径转换为完整路径(绝对路径),若成功则返回一个指向该路径的指针,否则返回NULL使用方法:char *_fullpath( char *absPath, const char *relPath, size_t maxLength );范例:这个例子中实现了把用户输入的相对路径转换为完整路径:char PartPath[_MAX_PATH], FullPATH[_MAX_PARH]; cout<<"请输入相对路径:"; gets(PartPath); if( _fullpath(FullPath,PartPath,_MAX_PARH)!=NULL) cout<<"绝对路径为:"<<FullPath<<endl;函数名:_futime所属库名:<sys/utime.h>函数功能:为某个已经打开的文件设置修改时间,若成功则返回0,否则返回-1使用方法:int _futime( int handle, struct _utimbuf *filetime );范例:这个例子中使用了_futime函数来把当前的系统时间设置为文件修改的时间:int hFile; system("dir futime.c"); hFile=_open("futime.c",_o_RDWR);if( _futime(hFile,NULL)==-1) perror("_futime failed\n"); else printf( "File time modified\n"); close (hfile); system("dir futime函数名:_gcvt所属库名:<stdlib.h>函数功能:把一个double型的数据转换成一个字符串,并且把该字符串存储在缓冲区中,若成功则返回一个指向字符串的指针使用方法:char *_gcvt( double value, int digits, char *buffer );范例:这个例子中把一个double型数据-3.1415e5转换成7位的字符串:char Buffer[50]; double source = -3.1415e5; _gcvt( source, 7, Buffer ); printf( "source: %f Buffer: '%s'\n", source, Buffer );函数名:_get_osfhandle所属库名:<io.h>函数功能:返回某个数据流的FILE指针所对应的操作系统文件句柄,若失败则返回-1使用方法:long _get_osfhandle( int filehandle ); 范例:这个例子中返回了指针Handle所对应的操作系统文件句柄OSFileHandle:FILE *Handle; long OSFlieHandle; OSFileHandle=_get_osfhandle(Handle);函数名:_get_sbh_threshold所属库名:<malloc.h>函数功能:返回小块的上限值,缺省为480 使用方法:size_t _get_sbh_threshold( void ); 范例:这个例子中显示了小块堆的上限值:size_t limit; limit=_get_sbh_threshold;函数名:_getch所属库名:<conio.h>函数功能:从键盘读取一个字符,但不把它回显使用方法:int _getch( void );范例:这个例子中实现了从键盘输入20个字符:char Buffer[25]; int Count; for(Count=1;Count<=20;Count++){ Buffer[Count]=_getch(); }函数名:_getche所属库名:<conio.h>函数功能:从键盘读取一个字符,并且把它回显使用方法:int _getche( void );范例:和_getch函数类似函数名:_getcwd所属库名:<direct.h>函数功能:返回当前的工作目录使用方法:char *_getcwd( char *buffer, intmaxlen );范例:这个例子中显示了当前的工作目录:char Directory[_MAX_PATH];if(_getcwd(Directory,_MAX_PA TH)!=NULL) cout<<"当前的工作目录是:"<<Directory;函数名:_getdcwd所属库名:<direct.h>函数功能:返回指定的驱动器上当前工作目录的完整路径(绝对路径)使用方法:char *_getdcwd( int drive, char *buffer, int maxlen );范例:这个例子中显示了c盘的当前工作目录的名称(A盘为1,B盘为2,C盘为3,依次类推):int Drive=3; cahr Directory=[_MAX_PATH]; if (Drive,Directory,_MAX_PATH)!=NULL)cout<<"c盘的当前工作目录的完整路径为:"<<Directory;函数名:_getdrive所属库名:<direct.h>函数功能:返回当前的磁盘驱动器,1代表A 盘,2代表B盘,依次类推使用方法:int _getdrive( void );范例:int _getdrive( void );函数名:_getmbcp所属库名:<mbctype.h>函数功能:返回当前正在使用的多字节代码页,若返回值为0,则表示当前使用的是单字节代码,否则为多字节代码使用方法:int _getmbcp( void );范例:这个例子中可以判断当前的代码页的类型:if(_getmbcp()!=0) cout<<"正在使用多字节代码页"<<endl; else cout<<"正在使用单代码页"<<endl;函数名:_getpid所属库名:<process.h> 函数功能:返回进程识别代码使用方法:int _getpid( void );范例:这个例子中可以显示当前进程的识别代码:printf( "\nProcess id: %d\n", _getpid() );函数名:_getw所属库名:<stdio.h>函数功能:从某个数据流中读取一个整型数据使用方法:int _getw( FILE *stream );范例:这个例子中从文件sample.txt中读取了一个整数:FILE *Stream; int x; Stream=fopen("sample.txt","rb");I=_getw(Stream); cout<<I; fclose(Stream);函数名:_getws所属库名:<stdio.h> or <wchar.h>函数功能:从标准输入设备上读取一行宽字符使用方法:wchar_t *_getws( wchar_t *buffer ); 范例:和gets函数类似函数名:_heapadd所属库名:<malloc.h>函数功能:把一个内存区域添加到堆中去使用方法:int _heapadd( void *memblock, size_t size );范例:这个例子中把一个假设长度为20字节的区域添加到堆中,指针Buffer指向这个区域:_heapadd(Buffer,20);函数名:_heapchk所属库名:<malloc.h>函数功能:检查堆的连续性,若成功则返回一组预定义常量中的一个,否则把全局变量errno 设置为ENOSYS使用方法:int _heapchk( void );范例:这个例子中先分配然后释放一块内存区域Buffer来检查堆的状态是否正常:int heapstatus;char *buffer;if( (buffer = (char *)malloc( 100 )) != NULL )free( buffer );heapstatus = _heapchk(); switch( heapstatus ) { case _HEAPOK: printf(" OK - heap is fine\n" );bre函数名:_heapmin所属库名:<malloc.h>函数功能:释放没有使用的堆空间,返还给操作系统,若成功则返回0,否则返回-1使用方法:int _heapmin( void );范例:本函数多用于进行了堆操作之后用来释放未使用的空间:_heapmin();函数名:_heapset所属库名:<malloc.h>函数功能:检查堆的最小连续性,并且用指定的数值或者字符填充堆的自由项目,若成功则返回一组预定义常量中的一个,否则把全局变量errno设置为ENOSYS使用方法:int _heapset( unsigned int fill );范例:这个例子中使用字符x填充堆中自由项目的每一个字节:char *Buffer; int Status; Buffer=(char *)malloc(100)!=NULL); if((Stream=_heapset('x'))=_HEAPOK) cout<<"成功"; free(Buffer);函数名:_heapwalk所属库名:<malloc.h>函数功能:从头到尾扫描堆,并且返回堆中下一个项目的信息,若成功则返回一组预定义常量中的一个,否则把全局变量errno设置为ENOSYS使用方法:int _heapwalk( _HEAPINFO *entryinfo );范例:这个例子中显示了堆中的每个项目信息:_HEAPINFO x; int status; x._pentry=NULL; while((status=_heapwalk(&x)==_HEAPOK) {cout<<(x._useflag==_USEDENTRY?"已使用":"未使用"); cout<<x._pentry; cout<<x._size ; } 函数名:_hypot所属库名:<math.h>函数功能:计算直角三角形的斜边长度,若操作失败则返回无穷大使用方法:double _hypot( double x, double y ); 范例:这个例子中已知直角三角形的两条直角边的长度,使用函数_hypot可以计算出斜边的长度:double x=3.0,y=4.0; z=_hypot(x,y);函数名:_i64toa所属库名:<stdlib.h>函数功能:把一个__int64型的数据转换为字符串,返回一个指向该宽字符串的指针使用方法:char *_i64toa( __int64 value, char *string, int radix );范例:和_itoa函数类似函数名:_i64tow所属库名:<stdlib.h>函数功能:把一个__int64型的数据转换为宽字符串,返回一个指向该宽字符串的指针使用方法:wchar_t * _i64tow( __int64 value, wchar_t *string, int radix );范例:和_itoa函数类似函数名:_inp所属库名:<conio.h>函数功能:从端口输入一个字节使用方法:int _inp( unsigned short port );范例:这个例子中实现了从8号端口输入一个字节:int Port=8; int Byte; Byte=_inp(Port);函数名:_inpd所属库名:<conio.h>函数功能:从端口输入一个双字(四字节)使用方法:unsigned long _inpd( unsigned short port );范例:和_inp函数类似函数名:_inpw所属库名:<conio.h>函数功能:从端口输入一个字(两字节)使用方法:unsigned short _inpw( unsigned short port );范例:和_inp函数类似函数名:_isascii所属库名:<ctype.h>函数功能:若参数c是一个ASCII 字符(0x00-0x7f),则返回一个非0值,否则返回0 使用方法:int __isascii( int c );范例:和isalnum函数类似函数名:_isatty所属库名:<io.h>函数功能:若某个句柄和某个字符设备(比如显示器、打印机、终端等)相关联,则返回一个非0值,否则返回0使用方法:int _isatty( int handle );范例:这个例子中实现了检查标准输出设备(stdout)是否被重定向到某个磁盘文件:if( _isatty( _fileno( stdout ) ) ) printf( "stdout has not been redirected to a file\n" ); else printf( "stdout has been redirected to a file\n");函数名:_iscsym所属库名:<ctype.h>函数功能:若参数c是一个字母、数字或者下划线,则返回一个非0值,否则返回0使用方法:int __iscsym( int c );范例:和isalnum函数类似函数名:_iscsymf所属库名:<ctype.h>函数功能:若参数c是一个字母或者下划线,则返回一个非0值,否则返回0使用方法:int __iscsymf( int c );范例:和isalnum函数类似函数名:_ismbbalnum所属库名:<mbctype.h>函数功能:若参数c是一个字母或者一个数字,则返回一个非0值,否则返回0。

C语言的常用库函数使用方法分析及用途

C语言的常用库函数使用方法分析及用途

C语言的常用库函数使用方法分析及用途C语言的常用库函数使用方法分析及用途absread()读磁盘绝对扇区函数原形:int absread(int drive,int num,int sectnum,void *buf) 功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS 中断0x25读取)num个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。

参数:drive=0对应A盘,drive=1对应B盘。

返回值:0:成功;-1:失败。

头文件:dos.habswrite()写磁盘绝对扇区函数原形:int abswrite(int drive,int nsects,int lsect,void *buffer) drive=0(A驱动器)、1(B驱动器)、nsects=要写的扇区数(最多64K个);lsect=起始逻辑扇区号;buffer=要写入数据的内存起始地址。

功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。

返回值:0:成功;-1:失败。

头文件:dos.hatof()将字符串转换成浮点数的函数原形:double atof(const char *s)功能:把s所指向的字符串转换成double类型。

s格式为:符号数字.数字E符号数字返回值:字符串的转换值。

头文件:math.h、stdlib.hatoi()将字符串转换成整型数的函数原形:int atoi(const char *s)功能:把s所指向的字符串转换成int类型。

s格式为:符号数字返回值:字符串的转换值。

若出错则返回0。

头文件:stdlib.hatol()将字符串转换成长整型数的函数原形:long atol(const char *s)功能:把s所指向的字符串转换成long int类型。

s格式为:符号数字返回值:字符串的转换值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

附录2 常用库函数Microsoft C为应用程序设计人员提供了大量的库函数,其功能覆盖了程序设计的方方面面,为每个程序员所必须掌握。

在本附录中,我们选列了其中较常用的库函数,供读者查询参考。

为了节省篇幅,我们只列出了函数原型和简单的功能说明。

如果在使用时对某库函数的功能、参数设置和返回值等仍有疑问,可以直接查看MSDN中的有关说明。

1.分类库函数,原型均在头文件ctype.h中。

这组库函数实际上均为带参数的宏。

原型:int isalpha(int c);功能:如果c为字母返回非0值,否则返回0。

原型:int isdigit(int c);功能:如果c为数字返回非0值,否则返回。

原型:int isalnum(int c);功能:如果c为字母或数字返回非0值,否则返回0。

原型:int islower(int c);int isupper(int c);功能:如果c为小写(大写)字母返回非0值,否则返回0。

原型:int isprint(int c);功能:如果c为可打印字符(包括字母、数字、空格和各种符号等)返回非0值,否则返回0。

原型:int isspace(int c);功能:如果c为空格、制表符、回车换行符等则返回非0值,否则返回0。

原型:int tolower(int ch);int toupper(int ch);功能:将字符转换为小写或大写字符。

2.目录操作函数,用于在程序中处理文件目录系统,原型均在头文件direct.h中。

原型:int _chdir( const char *dirname );功能:改变当前目录。

原型:int _chdrive( int drive );功能:改变当前驱动器。

原型:char *_getcwd( char *buffer, int maxlen );功能:读取当前目录。

原型:char *_getdcwd( int drive, char *buffer, int maxlen );功能:从指定驱动器的读取当前目录。

原型:int _getdrive( void );功能:读取当前磁盘驱动器。

原型:int _mkdir( const char *dirname );功能:建立目录。

原型:int _rmdir( const char *dirname );功能:删除目录。

原型:void _searchenv( const char *filename, const char *varname, char *pathname );功能:按指定路径查找给出的文件。

3.进程和环境控制库函数,原型均在头文件Process.h或Stdlib.h中。

原型:void abort(void);功能:异常终止一个进程。

原型:void exit(int status);功能:中止程序。

原型:int system(char *command);功能:在不退出程序的情况下直接启动DOS的命令行。

可以使用此函数运行其它程序,然后在返回原来的应用程序。

4.类型转换库函数,除注明者外,原型均在头文件stdlib.h中。

原型:int atoi(char *s);long atol(char *s);double atof(char *s);功能:将字符串分别转换为整型数、长整型数和双精度型数。

atof()的原型在头文件math.h中。

原型:char *_itoa(int value,char *string,int radix);char *_ltoa(long value, char *string,int radix);功能:整型或长整型数值转换为字符串。

5.输入/输出库函数,除注明者外,原型均在头文件stdio.h中。

原型:int getchar( void );功能:从标准输入设备(键盘,下同)读一个字符。

原型:int getch(void);int getche(void);功能:从标准输入设备(键盘,下同)读一个字符。

原型:int _kbhit( void );功能:检查当前按键是否有效。

原型在头文件conio.h中。

原型:int putchar( int c );功能:向标准输出设备(显示屏,下同)写一个字符。

原型:int _putch( int c );功能:向控制台写一个字符。

原型:int printf( const char *format [, argument]... );功能:向标准输出设备进行格式化输出。

原型:int scanf( const char *format [,argument]... );功能:从标准输入设备进行格式化输入。

原型:char *gets( char *buffer );功能:从标准输人设备输入字符串。

原型:int puts( const char *string );功能:向标准输出设备写字符串。

原型:int _ungetch( int c );功能:将一个字符退回键盘缓冲区,下次用getch()等函数即可读此字符。

原型:FILE *fopen( const char *filename, const char *mode );int fclose( FILE *stream );功能:打开和关闭流式文件。

原型:int fgetc( FILE *stream );int getc( FILE *stream );int fputc( int c, FILE *stream );int putc( int c, FILE *stream );功能:从文件中读一个字符,或向文件中写一个字符。

原型:char *fgets( char *string, int n, FILE *stream );int fputs( const char *string, FILE *stream );功能:文件字符串读写。

原型:int fprintf( FILE *stream, const char *format [, argument ]...);int fscanf( FILE *stream, const char *format [, argument ]... );功能:文件格式化读写。

原型:size_t fread( void *buffer, size_t size, size_t count, FILE *stream );size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );功能:文件成块读写。

原型:int fseek( FILE *stream, long offset, int origin );long ftell( FILE *stream );功能:文件指针定位。

原型:int feof( FILE *stream );功能:测试文件是否结束。

原型:int ungetc( int c, FILE *stream );功能:将一个字符退回文件缓冲区中,下次用fgetc()等函数即可读此字符。

原型:int rename( const char *oldname, const char *newname );功能:修改文件名。

原型:int _unlink( const char *filename );功能:删除文件。

原型在头文件Stdio.h和io.h中。

6.存储分配库函数,原型均在头文件malloc.h中。

原型:void *malloc( size_t size );功能:按字节申请存储空间。

原型:void *calloc( size_t num, size_t size );功能:成组申请存储空间。

原型:void *realloc( void *memblock, size_t size );功能:修改已动态分配的存储块大小。

原型:void free( void *memblock );功能:释放动态申请的存储块。

7.内存操作函数,除特别说明者外,原型均在头文件memory.h 和string.h中。

原型:void *memset( void *dest, int c, size_t count );功能:将一段内存均置为给定的内容。

原型:int memcmp( const void *buf1, const void *buf2, size_t count );int _memicmp( const void *buf1, const void *buf2, unsigned int count );功能:比较两段存储空间的内容。

_memicmp()不区分大、小写字母。

原型:void *memchr( const void *buf, int c, size_t count );功能:在指定内存单元中查找字符。

原型:void *memcpy( void *dest, const void *src, size_t count );void *memmove( void *dest, const void *src, size_t count );功能:复制一段给定的内存单元内容。

memcpy()与memmove()的复制方向不同,这在源空间和目标空间有重叠时特别重要。

8.字符串操作库函数,原型均在头文件string.h中。

这组库函数甚多,这里只选列了其中较常用的几个。

原型:char *_strset( char *string, int c );char *_strnset( char *string, int c, size_t count );功能:将字符串中的字符设置为给定值。

原型:char *strcpy( char *strDestination, const char *strSource );char *strncpy( char *strDest, const char *strSource, size_t count );功能:字符串拷贝。

原型:char *strcat( char *strDest, const char *strSource );char *strncat( char *strDest, const char *strSource, size_t count );功能:将字符串strSource 添加在字符串strDest之后。

原型:char *_strlwr( char *string );char *_strupr( char *string );功能:将字符串中的字母字符均转换为小写/大写字母。

原型:char *_strrev( char *string );功能:反转字符串的内容。

相关文档
最新文档