各种函数 (备忘)

C++语言是一种从C语言改良的语言,C语言中原有的标准库函数在C++中都可以使用,当然,由于不同的公司有各自不同的产品,所以当我们选择不同公司的编译器时应该遵从相应产品的说明。

本附录列出一些常用标准函数,以方便用户查询,详细的使用说明请查看联机文档。

(一)         数学函数和相应的转换函数

头文件:math.h、stdlib.h

 

函数名

 

 函数说明

 

功能

 

说明

 

abs

 int abs(int n)

 

返回int类型数的绝对值

 

 

 

acos

double acos(double x)

 

计算反三角函数arccos的值,返回的角度值在0到 之间。x的值应该在-1到1之间。

 

如果x的值超过-1到1的范围则返回一个不确定的值。

asin

double asin (double x)

 

计算反三角函数arcsin的值,返回的角度值在 到 之间。x的值应该在-1到1之间。

 

如果x的值超过-1到1的范围则返回一个不确定的值。

 

atan

double atan(double x)

 

计算反三角函数atan的值,返回的角度值在 到 之间。

 

 

 

ceil

 

double ceil(double x)

 

求出不小于x的最小整数。

 

 

 

cos

 

double cos(double x)

 

计算三角函数cos的值。

 

 

 

div

 

div—t div(int n,int d)

 

计算两个int型数整除后的结果和余数。

 

div—t是一个结构,内部定义了quot和rem两个成员,分别来保存商和余数。

 

exp

 

double exp(double x)

 

求e的指数值。

 

如果结果溢出则返回INF。

 

fabs

 

double fabs(double x)

 

返回浮点数的绝对值。

 

 

 

floor

 

double floor(double x)

 

求出不大于x的最大值。

 

 

 

fmod

 

double fmod(double x, double y)

 

求整除 的余数。

 

如果y是0.0则函数返回NaN。

 

函数名

 

函数说明

 

功能

 

说明

 

log

 

double log(double x)

 

求lnx的值。

 

 

 

log10

 

double log10(double x)

 

求logx的值。

 

 

 

pow

 

double pow(double x, double y)

 

求x的y次方的方程。

 

计算值不能大于2的64次方。

 

rand

 

int rand(void)

 

返回一个伪随机数。

 

在调用该函数之前请先调用srand函数设置初始值。

 

sin

 

double sin(double x)

 

计算三角函数sin的值。

 

 

 

sqrt

 

double sqrt(double x)

 

计算x的开根号值。

 

如果x小于0,则报错。

 

srand

 

void srand(unsigned int seed)

 

为随机函数rand产生初始值,seed是这个初始值的种子值。srand用这个种子值产生初始值。

 

 

 

tan

 

double tan(double x)

 

计算三角函数tan的值。

 

x的值不能大于2的64次方或者小于2的-64次方。

 

 

(二)         一般I/O操作

     头文件:stdio.h

 

函数名

 

函数说明

 

功能

 

说明

 

clearerr

 

void clearerr(FILE * stream)

 

清除文件错误指示器。

 

 

 

fclose

 

int fclose(FILE * f)

 

关闭一个文件。 

 

如果成功,关闭文件并返回0,反之返回EOF。

 

feof

 

int feof(FILE * f)

 

检验是否达到了文件尾部。

 

如果当前位置不是文件尾则返回0,否则返回非0值。

 

ferror

 

int ferror(FILE * f)

 

检验是否文件操作出错。

 

如果没有错误则返回0,否则返回非0值。

 

fgetc

 

int fgetc(FILE *f)

 

从f所指的文件中读取一个字符

 

如果读取出错则返回EOF,如果成功则返回该字符相对应的int值。

 

fgets

 

char * fgets(char * string, int n, FILE *f)

 

从f所指的文件中读取一个字符串放在string变量中。

 

参数n是读出的最大的字符数,如果读取出错则返回NULL,如果成功则返回string变量的首地址。

 

函数名

 

函数说明

 

功能

 

说明

 

fopen

 

FILE * fopen(const char * filename, const char *  mode)

 

以参数mode所指示的方式打开名为filename的文件。

 

参数mode中的字符串表示以何种读取方式打开文件,例如“r”以只读的方式打开。

 

fprintf

 

int fprintf(FILE * f, const char * format [,argument]…)

 

把argument中的值以参数format所指定的格式输入到f所指的文件中。

 

如果函数执行成功则返回写入文件的字符数,如果失败则返回一个负数。

 

fputc

 

int fputc(int c, FILE * f)

 

将参数c所表示的一个字符输出到f所指的文件中。

 

如果输出成功则返回这个字符,反之则返回EOF。

 

fputs

 

int fputs(const char * string, FILE *f)

 

将参数string中的字符串输出到f所指的文件中。

 

如果输出成功则返回一个非负数,反之则返回EOF。

 

fread

 

int fread(void * buffer, int size, int count, FILE * f)

 

从f所指定的文件中读取长度为参数size所指定的数据,并将数据存入buffer所指向的内存区。

 

如果读取成功则返回读出的数据。如果失败则文件指针指向文件末尾。可以用函数feof进行错误检测。

 

fscanf

 

int fscnf(FILE * f, const char * format [,argument]…)

 

从f所指向的文件中按format所指定的方式将数据输入到argument所指向的内存单元中。

 

和函数fprintf配套使用。

 

fseek

 

int fseek(FILE * f, long offset, int origin)

 

将f所指定的文件的文件指针移到以参数origin为基准,参数offset为偏移量的位置。

 

如果函数执行成功则返回0,否则返回一个非0值。

 

ftell

 

Long ftell(FILE *f )

 

得到f所指向的文件的当前位置。

 

 

 

fwrite

 

int fwrite(const void * buffer, int size, int count, FILE * f)

 

将buffer所指向的n*size个字节的数据输出到f所指向的文件中。

 

返回实际输出的数据数和函数fread配套使用。

 

getc

 

int getc(FILE *f)

 

从f所指定的文件中读出一个字符。

 

如果读取失败或者到达文件结尾则返回EOF。反之,返回所读的字符所对应的INT值。

 

printf

 

int printf(const char * format [,argument]…)

 

按参数format中所指定的格式化的形式将参数argument中的数据输出到标准输出设备中。

 

如果函数执行出错则返回负数,如果成功则返回输出的字符数。

 

putc

 

int putc(int c, FILE * f)

 

将参数c所表示的一个字符输出到f所指定的文件中。

 

如果输出成功则返回这个字符,如果失败则返回EOF。

 

函数名

 

函数说明

 

功能

 

说明

 

puts

 

int puts(const char * string)

 

将string所指的字符串输出到标准输出设备。

 

如果输出成功则返回一个非负数,如果失败则返回EOF。

 

rewind

 

void rewind(FILE * f)

 

将f所指向的文件的文件指针重新指向文件的开头。

 

 

 

scanf

 

int scanf(const char * format[, argument]…)

 

从标准输入设备中按参数format所指定的格式输入数据到参数argument中。

 

如果出错则返回EOF。

 

 

(三)         字符串和字符函数

头文件:string.h、ctype.h

 

函数名

 

函数说明

 

功能

 

说明

 

isalnum

 

int isalnum(int c)

 

检查c是否是字母或者是数字。

 

如果c是数字或者是字母则返回一个非0值,反之返回0。

 

isalpha

 

int isalpha(int c)

 

检查c是否是字母。

 

如果c是字母则返回一个非0,反之返回0。

 

_isascii

 

int _isascii(int c)

 

检查c是否是ASCII字符。

 

如果c是ASCII字符则返回一个非0,反之返回0。

 

iscntrl

 

int iscntrl(int c)

 

检查c是否是控制字符。

 

控制字符的ASCII码在0-0x1F之间。

 

isdigit

 

int isdigit(int c)

 

检查c是否是数字。

 

如果c是数字则返回一个非0,反之返回0。

 

isgraph

 

int isgraph(int c)

 

检查c是否是可打印字符。

 

可打印字符的范围是0x21—0x7E,检查范围不包括空格。

 

islower

 

int isower(int c)

 

检查c是否是小写字母。

 

如果c是小写字母则返回非0值,反之返回0。

 

isupper

 

int isupper(int c)

 

检查c是否是大写字母。

 

如果c是大写字母则返回非0值,反之返回0。

 

strcat

 

Char * strcat(char * strD, const char * strS)

 

将参数strS中的字符串拼接到参数strD所指定的字符串后面。

 

函数返回连接之后的字符串的头指针。拼接后的字符串以NULL结尾。

 

strchr

 

char * strchr (const char  * string, int c)

 

在参数string所指定的字符串中查找参数c所代表的字符第一次出现的位置。

 

如果找到了该字符则返回该字符在字符串中位置的指针。反之返回NULL。

 

函数名

 

函数说明

 

功能

 

说明

 

strcmp

 

int strcmp (const char * string1, const char * string2)

 

以辞典顺序对两个字符串进行比较。

 

返回值小于0,则string1小于string2,等于0,则string1等于string2,大于0,则string1大于string2。

 

strcpy

 

char * strcpy (char * strD,const char * strS)

 

将参数strS中的字符串拷贝到参数strD所指定的字符串后面,包括结尾处的NULL值。

 

函数返回连接之后的字符串的头指针。

 

strcspn

 

int strcspn (const char * string, const char * strCharSet)

 

在参数string 所指定的字符串中查找参数strCharSet所代表的字符串第一次出现的位置。

 

如果找到了则返回该字符串在备查找字符串中的位置。

 

_strdup

 

char *_strdup(const char *strSource)

 

复制一个字符串。

 

参数strSource所指示的就是等待复制字符串。

 

strlen

 

int strlen(const char * string)

 

得到参数string所指定的字符串的长度

 

 

 

_strlwr

 

char *_strlwr(char * string)

 

将参数string所指定的字符串变为小写。

 

函数返回转变后的字符串的首指针。

 

_strrev

 

Char * _strrev(char * string)

 

将参数string所指定的字符串倒转。

 

函数返回倒转后的字符串的首指针。

 

strstr

 

Char * strstr(const char * string, const char * strCharSet)

 

在参数string所指定的字符串中查找参数strCharSet所代表的字符串第一次出现的位置。

 

如果找到了则返回该字符串在备查找字符串中的位置。

 

_strupr

 

char * _strupr(char * string)

 

将参数string所指定的字符串转变为大写。

 

函数返回转变后的字符串的首指针。

 

(四)内存分配操作函数

  头文件:malloc.h

 

函数名

 

函数说明

 

功能

 

说明

 

calloc

 

void * calloc(int num, int size)

 

在内存中连续分配num个大小为size的空间,并将分配的空间用0初始化

 

函数返回分配的内存空间的首地址。

 

free

 

void free(void * m)

 

释放已经分配的内存空间。

 

 

 

malloc

 

void * malloc(int size)

 

在堆中分配size个字节空间。

 

函数返回分配的内存空间的首地址。

 

_msize

 

int _msize(void * m)

 

返回在堆中分配的内存的大小。

 

函数按字节的形式返回分配的数量。

 

realloc

 

void * realloc(void * memblock, int size)

 

对参数memblock所指向的内存的大小按参数size进行再分配

 

函数返回重新分配的内存空间的首地址。

 

说明:

以上只是罗列了一些常用的函数,实际上Borland C++中有很多头文件,内部包含了成千上万的函数,即便是选出的这几个头文件,我们也没有将其中所有的函数列出来,以上的罗列只是想起一个抛砖引玉的作用。在实际的编程过程中应该不断查看联机文档,以便得到详细的说明。

附录  ASCII码字符集

 

 

序号

 

名称

 

16进制

 

序号

 

名称

 

16进制

 

序号

 

名称

 

16进制

 

000

 

NULL

 

00

 

043

 

+

 

2B

 

086

 

V

 

56

 

001

 

SOH

 

01

 

044

 

,

 

2C

 

087

 

W

 

57

 

002

 

STX

 

02

 

045

 

-

 

2D

 

088

 

X

 

58

 

003

 

ETX

 

03

 

046

 

.

 

2E

 

089

 

Y

 

59

 

004

 

EOT

 

04

 

047

 

/

 

2F

 

090

 

Z

 

5A

 

005

 

ENQ

 

05

 

048

 

0

 

30

 

091

 

[

 

5B

 

006

 

ACK

 

06

 

049

 

1

 

31

 

092

 

\

 

5C

 

007

 

BEL

 

07

 

050

 

2

 

32

 

093

 

]

 

5D

 

008

 

BS

 

08

 

051

 

3

 

33

 

094

 

^

 

5E

 

009

 

HT

 

09

 

052

 

4

 

34

 

095

 

_

 

5F

 

010

 

LF

 

0A

 

053

 

5

 

35

 

096

 

 

60

 

011

 

VT

 

0B

 

054

 

6

 

36

 

097

 

a

 

61

 

012

 

FF

 

0C

 

055

 

7

 

37

 

098

 

b

 

62

 

013

 

CR

 

0D

 

056

 

8

 

38

 

099

 

c

 

63

 

014

 

SO

 

0E

 

057

 

9

 

39

 

100

 

d

 

64

 

015

 

SI

 

0F

 

058

 

:

 

3A

 

101

 

e

 

65

 

016

 

DLE

 

10

 

059

 

;

 

3B

 

102

 

f

 

66

 

017

 

DCI

 

11

 

060

 

 

3C

 

103

 

g

 

67

 

018

 

DC2

 

12

 

061

 

=

 

3D

 

104

 

h

 

68

 

019

 

DC3

 

13

 

062

 

 

3E

 

105

 

i

 

69

 

020

 

DC4

 

14

 

063

 

?

 

3F

 

106

 

j

 

6A

 

021

 

NAK

 

15

 

064

 

@

 

40

 

107

 

k

 

6B

 

022

 

SYN

 

16

 

065

 

A

 

41

 

108

 

l

 

6C

 

023

 

ETB

 

17

 

066

 

B

 

42

 

109

 

m

 

6D

 

024

 

CAN

 

18

 

067

 

C

 

43

 

110

 

n

 

6E

 

025

 

EM

 

19

 

068

 

D

 

44

 

111

 

o

 

6F

 

026

 

SUB

 

1A

 

069

 

E

 

45

 

112

 

p

 

70

 

027

 

ESC

 

1B

 

070

 

F

 

46

 

113

 

q

 

71

 

028

 

FS

 

1C

 

071

 

G

 

47

 

114

 

r

 

72

 

029

 

GS

 

1D

 

072

 

H

 

48

 

115

 

s

 

73

 

030

 

RS

 

1E

 

073

 

I

 

49

 

116

 

t

 

74

 

031

 

US

 

1F

 

074

 

J

 

4A

 

117

 

u

 

75

 

032

 

Space

 

20

 

075

 

K

 

4B

 

118

 

v

 

76

 

033

 

!

 

21

 

076

 

L

 

4C

 

119

 

w

 

77

 

034

 

 

22

 

077

 

M

 

4D

 

120

 

s

 

78

 

035

 

#

 

23

 

078

 

N

 

4E

 

121

 

y

 

79

 

036

 

$

 

24

 

079

 

O

 

4F

 

122

 

z

 

7A

 

037

 

%

 

25

 

080

 

P

 

50

 

123

 

{

 

7B

 

038

 

&

 

26

 

081

 

Q

 

51

 

124

 

|

 

7C

 

039

 

 

27

 

082

 

R

 

52

 

125

 

}

 

7D

 

040

 

(

 

28

 

083

 

S

 

53

 

126

 

~

 

7E

 

041

 

)

 

29

 

084

 

T

 

54

 

127

 

del

 

7F

 

042

 

*

 

2A

 

085

 

U

 

55

 

 

 

 

 

 

 

注:0~31为控制字符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值