
总览
| 函数声明 | 函数功能 |
|---|---|
double tan(double x) |
计算 以弧度 x 为单位的角度的正切值(double) |
float tanf(float x) |
计算 以弧度 x 为单位的角度的正切值(float) |
long double tanl(long double x) |
计算 以弧度 x 为单位的角度的正切值(long double) |
double tanh(double x); |
计算 x 的双曲正切值(double) |
float tanhf(float x); |
计算 x 的双曲正切值(float) |
long double tanhl(long double x); |
计算 x 的双曲正切值(long double) |
off_t tell(int fd); |
用于返回文件指针当前位置相对于文件开头的偏移量 |
long int telldir(DIR *dirp); |
获取目录流的当前位置 |
int textheight(char *string); |
用于获取当前文本模式下字符的高度 |
int textwidth(char *string); |
用于获取当前文本模式下字符的宽度 |
time_t time(time_t *timer); |
可以用于获取从 1970 年 1 月 1 日 00:00:00 UTC 到当前时间的秒数 |
FILE *tmpfile(void); |
可以用于在临时目录中创建一个唯一的临时文件,并返回文件指针 |
char *tmpnam(char *s); |
用于创建一个唯一的临时文件名 |
int toascii(int c); |
将一个字符转换为其对应的 ASCII 码值 |
int tolower(int c); |
可以用于将一个 ASCII 字符转换为小写字母 |
int toupper(int c); |
可以用于将一个 ASCII 字符转换为大写字母 |
double trunc(double x); |
截取 x 的小数部分,并返回整数部分(double) |
float truncf(float x); |
截取 x 的小数部分,并返回整数部分(float) |
long double truncl(long double x); |
截取 x 的小数部分,并返回整数部分(long double) |
void tzset(void); |
可以用于设置时区信息 |
double tgamma(double x); |
用于计算 Gamma 函数(double) |
float tgammaf(float x); |
用于计算 Gamma 函数(float) |
long double tgammal(long double x); |
用于计算 Gamma 函数(long double) |
1. tan,tanf,tanl
1.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
double tan(double x) |
计算 以弧度 x 为单位的角度的正切值(double) |
float tanf(float x) |
计算 以弧度 x 为单位的角度的正切值(float) |
long double tanl(long double x) |
计算 以弧度 x 为单位的角度的正切值(long double) |
1.2 演示示例
1 |
|
1.3 运行结果

2. tanh,tanhf,tanhl
2.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
double tanh(double x); |
计算 x 的双曲正切值(double) |
float tanhf(float x); |
计算 x 的双曲正切值(float) |
long double tanhl(long double x); |
计算 x 的双曲正切值(long double) |
2.2 演示示例
1 |
|
2.3 运行结果

3. tell
3.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
off_t tell(int fd); |
用于返回文件指针当前位置相对于文件开头的偏移量 |
参数:
- fd : 是文件描述符,表示要查询的文件
3.2 演示示例
1 |
|
在上面这个示例中,
- 首先我们打开了一个名为 test.txt 的文件,并使用
tell()函数获取了当前的文件偏移量。 - 然后我们用
read()函数读取了一些数据,并再次使用tell()函数来获取新的文件偏移量。 - 最后我们使用
close()函数关闭文件。
注意:tell() 函数和 lseek 函数的功能类似,但有一个重要的区别:tell() 函数只用于查询当前位置,而不能修改文件指针的位置。如果要修改文件指针的位置,请使用 lseek() 函数。
下面我们来看看,使用 lseek() 函数来演示上面的 tell() 函数的示例 :
1 |
|
3.3 运行结果


4. telldir
4.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
long int telldir(DIR *dirp); |
获取目录流的当前位置 |
参数:
- dirp : 指向
DIR类型结构体的指针
4.2 演示示例
1 |
|
4.3 运行结果

5. textheight,textwidth
5.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int textheight(char *string); |
用于获取当前文本模式下字符的高度 |
int textwidth(char *string); |
用于获取当前文本模式下字符的宽度 |
参数:
- string : 要查询的字符串
5.2 演示示例
1 |
|
5.3 运行结果

6. time
6.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
time_t time(time_t *timer); |
可以用于获取从 1970 年 1 月 1 日 00:00:00 UTC 到当前时间的秒数 |
参数:
- timer : 一个指向
time_t类型对象的指针,如果不想使用此参数,可以将它设置为NULL
6.2 演示示例
1 |
|
在上面的示例中,
- 首先我们使用
time()函数来获取当前时间的秒数; - 然后使用
ctime()函数将其转换为可读的日期和时间格式; - 最后,再用将日期和时间字符串输出到标准输出流中。
6.3 运行结果

7. tmpfile
7.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
FILE *tmpfile(void); |
可以用于在临时目录中创建一个唯一的临时文件,并返回文件指针 |
7.2 演示示例
1 |
|
在上述的示例中,
- 首先我们使用
tmpfile()函数创建一个临时文件; - 接着使用
fputs()函数将字符串"这是一个临时文件"写入该文件; - 然后,我们使用
rewind()函数将文件指针移动到文件开始处; - 再接着,使用
fgets()函数从临时文件中读取数据并将其存储到字符串数组str中; - 最后,我们输出从临时文件中读取的数据,并关闭临时文件。
注意: 使用 tmpfile() 创建的临时文件只在程序运行期间存在,并在程序终止时自动删除。如果需要在程序运行期间保留临时文件,请使用 tmpnam() 或 mkstemp() 等函数来创建文件。
7.3 运行结果

8. tmpnam
8.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
char *tmpnam(char *s); |
用于创建一个唯一的临时文件名 |
参数:
- s : 一个指向字符数组的指针,用于存储临时文件名。如果
s等于NULL,则函数会返回指向静态内存区的指针,该内存区包含了唯一的临时文件名
8.2 演示示例
1 |
|
在上面的示例中,
- 我们首先使用
tmpnam()函数创建一个唯一的临时文件名; - 然后将其存储到字符数组
tmpname中; - 最后,我们输出该临时文件名。
注意: 使用 tmpnam() 创建的临时文件名只在程序运行期间存在,不具有真正唯一性,因此可能存在一定程度的风险。如果需要创建一个具有真正唯一性的临时文件,请考虑使用 mkstemp() 或类似的函数。
8.3 运行结果

9. toascii
9.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int toascii(int c); |
将一个字符转换为其对应的 ASCII 码值 |
参数:
- c : 要转换的字符
9.2 演示示例
1 |
|
注意 : toascii() 函数已经过时,不建议在新代码中使用。在 C99 标准中,改用更安全的 isascii() 函数来检查字符是否为 7-bit ASCII 字符,并使用位掩码操作或其他算法来将非 ASCII 字符转换为相应的 7-bit ASCII 码值。
知识点: 7-bit ASCII,也称为美国信息交换标准代码 (American Standard Code for Information Interchange),是一种基于英语的字符编码系统,使用 7 个二进制位(即一个字节)表示每个字符。它涵盖了拉丁字母、数字、标点符号和一些特殊符号,共计 128 个字符。
9.3 运行结果

10. tolower
10.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int tolower(int c); |
可以用于将一个 ASCII 字符转换为小写字母 |
参数:
- c : 要转换的字符
10.2 演示示例
1 |
|
10.3 运行结果

11. toupper
11.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
int toupper(int c); |
可以用于将一个 ASCII 字符转换为大写字母 |
参数:
- c : 要转换的字符
11.2 演示示例
1 |
|
11.3 运行结果

12. trunc,truncf,truncl
12.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
double trunc(double x); |
截取 x 的小数部分,并返回整数部分(double) |
float truncf(float x); |
截取 x 的小数部分,并返回整数部分(float) |
long double truncl(long double x); |
截取 x 的小数部分,并返回整数部分(long double) |
12.2 演示示例
1 |
|
12.3 运行结果

13. tzset
13.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
void tzset(void); |
可以用于设置时区信息 |
13.2 演示示例
UNIX/Linux 下示例:
1 |
|
windows 下示例:
1 |
|
在上述示例代码中,
- 首先定义变量
rawtime和timeinfo,分别用于存储当前时间和时间结构体。 - 接着使用
GetTimeZoneInformation()函数获取当前系统时区信息,并将其存储在tzinfo变量中。 - 然后使用
WideCharToMultiByte()函数将tzinfo.StandardName转换为UTF-8编码的字符串,并将其存储在standard_name变量中。 - 再接着使用
putenv_s()函数将standard_name设置为环境变量TZ的值,并使用 tzset 函数更新本地时区信息。 - 再然后使用
localtime()函数将rawtime转换为时间结构体timeinfo。 - 之后使用
asctime()函数将时间结构体timeinfo转换为字符串格式,并输出到标准输出流中。 - 最后释放
standard_name分配的内存空间,并正常结束程序。
13.3 运行结果

14. tgamma,tgammaf,tgammal
14.1 函数说明
| 函数声明 | 函数功能 |
|---|---|
double tgamma(double x); |
用于计算 Gamma 函数(double) |
float tgammaf(float x); |
用于计算 Gamma 函数(float) |
long double tgammal(long double x); |
用于计算 Gamma 函数(long double) |
14.2 演示示例
1 |
|
知识点: 伽玛函数(Gamma 函数),也叫欧拉第二积分,是阶乘函数在实数与复数上扩展的一类函数。
14.3 运行结果
