C++语言是一种从C语言改良的语言,C语言中原有的标准库函数在C++中都可以使用,当然,由于不同的公司有各自不同的产品,所以当我们选择不同公司的编译器时应该遵从相应产品的说明。
本附录列出一些常用标准函数,以方便用户查询,详细的使用说明请查看联机文档。
头文件:math.h、stdlib.h
函数名 |
|
功能 |
说明 |
abs |
|
返回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次方。 |
函数名 |
函数说明 |
功能 |
说明 |
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所指示的方式打开名为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所指定的字符串中查找参数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所指定的字符串转变为大写。 |
函数返回转变后的字符串的首指针。 |
函数名 |
函数说明 |
功能 |
说明 |
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++中有很多头文件,内部包含了成千上万的函数,即便是选出的这几个头文件,我们也没有将其中所有的函数列出来,以上的罗列只是想起一个抛砖引玉的作用。在实际的编程过程中应该不断查看联机文档,以便得到详细的说明。
附录
序号 |
名称 |
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为控制字符