)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 }2.3 运行结果3. tell3.1 函数说明函数声明函数功能 off_t tell(int fd);用于返回文件指针当前位置相对于文件开头的偏移量参数:fd : 是文件描述符,表示要查询的文件3.2 time_t time(time_t *timer);可以用于获取从 1970 年 1 月 1 日 00:00:00 UTC 到当前时间的秒数 参数:timer : 一个指向 time_t 类型对象的指针
int stime(const time_t *t);它是是 Unix/Linux 系统中的一个系统调用函数,用于设置系统时间char *stpcpy(char *dest, const char *src #define _SH_DENYRW 0x10#define _SH_DENYWR 0x20#define _SH_DENYRD 0x30#define _SH_DENYNO 0x402.3 运行结果3. int stime(const time_t *t);它是是 Unix/Linux 系统中的一个系统调用函数,用于设置系统时间参数:t: 指向一个 time_t 类型变量的指针,表示要设置的系统时间返回值 ("New time: %s", ctime(&t)); return 0;}在如上的示例代码中,我们首先使用 time() 函数获取当前时间,并输出到控制台;然后,我们设置系统时间为 2022 17.3 运行结果18. strcspn18.1 函数说明函数声明函数功能 size_t strcspn(const char* str, const char* charset);用于查找字符串中第一次出现指定字符集合中任何字符的位置
* src, size_t n);将源宽字符串中指定数量的字节复制到目标宽字符串中,即使目标内存和源内存重叠 1. wcsdup1.1 函数说明函数声明函数功能 wchar_t *wcsdup(const \n", ws1, ws2); } return 0;}2.3 运行结果3. wcsicoll3.1 函数说明函数声明函数功能 int wcsicoll(const wchar_t *s1, 3.3 运行结果4. wcslwr4.1 函数说明函数声明函数功能 wchar_t *wcslwr(wchar_t *str);用于将宽字符字符串转换为小写字母形式 参数:str : 待转换的宽字符串 函数说明函数声明函数功能 wchar_t *wcsset(wchar_t *str, wchar_t ch);用于将宽字符字符串中的所有字符设置为指定字符 参数:str : 要修改的宽字符字符串ch 11.3 运行结果12. wcsupr12.1 函数说明函数声明函数功能 wchar_t* wcsupr(wchar_t* str);用于将宽字符串转换为大写 参数:str : 要转换为大写的宽字符串
X的反正切值int atexit(atexit_t func);注册终止函数double atof(const char *nptr);把字符串转换成浮点数int atoi(const char *nptr : abort() 函数用于终止当前程序的执行。 函数说明函数声明函数功能 int absread(int drive, int nsects, int sectno, void *buffer);从drive指定的驱动器磁盘上,sectno指定的逻辑扇区号开始读取 最后将 buf 缓冲区中偏移量为 3 到偏移量为 82 的字符依次输出到屏幕上。 t.tm_mon = 11; /* Month */ t.tm_year = 56; /* Year - does not include century */ t.tm_wday
3. nearbyint,nearbyintf,nearbyintl3.1 函数说明函数声明函数功能 double nearbyint(double x);用于将一个浮点数四舍五入到最接近的整数值(double ,我们使用 nl_langinfo(T_FMT) 函数获取当前本地化环境下的时间格式字符串,并将其输出到终端。 10. nrand4810.1 函数说明函数声明函数功能 long nrand48(unsigned short xsubi[3]);用于生成带有指定状态的随机数。 ,我们首先创建了一个包含 3 个 16 位无符号整数的数组 seed,并将其用作随机数生成器的种子。 11. ntohl,ntohs11.1 函数说明函数声明函数功能 uint32_t ntohl(uint32_t netlong);用于将网络字节序(大端序)转换为主机字节序(小端序)。
void *kmalloc(size_t size, gfp_t flags);它是 Linux 内核中的一个函数,用于在内核中分配指定大小的内存空间。 void *kzalloc(size_t size, gfp_t flags);它是 Linux 内核中的一个函数,用于分配指定大小的内存空间,并将其初始化为零。 3. keep3.1 函数说明函数声明函数功能 void keep(void *ptr);它是 Linux 内核中的一个函数,用于防止编译器将指定的符号优化掉。 8. kmalloc8.1 函数说明函数声明函数功能 void *kmalloc(size_t size, gfp_t flags);它是 Linux 内核中的一个函数,用于在内核中分配指定大小的内存空间 25. kzalloc25.1 函数说明函数声明函数功能 void *kzalloc(size_t size, gfp_t flags);它是 Linux 内核中的一个函数,用于分配指定大小的内存空间,
time2, time_t time1);计算两个时刻之间的时间差 void disable(void);屏蔽中断 div_t div(int number, int denom);将两个整数相除, double difftime(time_t time2, time_t time1);计算两个时刻之间的时间差 2.2 演示示例#include <stdio.h>#include <time.h> ,首先,我们定义了两个 time_t 类型的变量 first 和 second;然后,调用 time(NULL) 函数获取当前的系统时间,并赋值给 first;接着,调用 getchar()函数等待用户输入 2.3 运行结果3. disable3.1 函数说明函数声明函数功能 void disable(void);屏蔽中断 3.2 演示示例// 中断服务示例#include <stdio.h>#include <math.h>int main(void){ div_t x = div(10,3); // 商 和 余数 printf("10 div 3 = %d remainder %d\n
总览 函数声明 函数功能 void bar(int left, int top, int right, int bottom); 画一个二维条形图 void bar3d(int left, int 功能号决定了bdos函数要执行的具体DOS操作。例如,功能号0x09用于在屏幕上显示字符串,功能号0x3C用于创建或打开文件。 unsigned dosdx : 用于传递额外的参数或数据给DOS功能。 函数声明 函数功能 void *bsearch(const void *key, const void *base, size_t *nelem, size_t width, int(*fcmp)( size_t *nelem : 数组中元素的数量。 size_t width: 数组中每个元素的大小(以字节为单位)。 \n", a); return 0; } 12.3 运行结果 参考 [API Reference Document] [c语言中的 bar 函数] [c语言中的 bar3d 函数]
2.3 运行结果3. ldiv,lldiv3.1 函数说明函数声明函数功能 ldiv_t ldiv(long int numer, long int denom);计算两个 long int 类型整数的商和余数 函数说明函数声明函数功能 struct tm *localtime(const time_t *timep);将 UNIX 时间戳转换为本地时间 参数:timep : 指向 time_t 类型的指针, :handle : 文件描述符offset : 偏移量whence : 偏移量的参考位置SEEK_SET: 从文件开头开始计算偏移量(即绝对位置)SEEK_CUR: 从当前位置开始计算偏移量(即相对位置 )SEEK_END: 从文件结尾开始计算偏移量(即反向偏移)返回值:如果成功,则返回新的文件指针位置(即距离文件开头的字节数);如果发生错误,则返回 -1。 然后,调用 lseek() 函数将文件指针移动到距离文件开头 5 个字节处。接着,调用 read() 函数从该位置开始读取 5 个字节的数据,并输出读取结果。
;它是标准 I/O 库中定义的函数,用于将格式化的数据输出到标准输出流(通常是控制台窗口) int pthread_create(pthread_t *thread, const pthread_attr_t // 等待用户按键 closegraph(); // 关闭图形窗口 return 0;}2.3 运行结果3. pow,powf,powl3.1 函数说明函数声明函数功能 double *arg);创建一个新的线程 int pthread_join(pthread_t thread, void **retval);阻塞当前线程,等待指定的线程结束。 pthread_join 参数:pthread_t thread :目标线程的标识符(由 pthread_create() 返回)。必须是已创建且未被分离(non-detached)的线程。 int pthread_mutex_unlock(pthread_mutex_t *mutex);释放互斥锁。参数:mutex : 指向互斥锁对象的指针。
正无穷或负无穷) int isnan(double x); 检查浮点数 x 是否为非数字(NaN) int isspace(int c); 检查字符 c 是否为空白字符,如空格(' ')、制表符('\t' } line(0, 0, getmaxx(), getmaxy()); getch(); closegraph(); return 0; } 2.3 运行结果 3. << 8; // 将3Bh转换为AH reg.r_dx = FP_OFF(directory); reg.r_ds = FP_SEG(directory); intr(0x21 handle)) printf("Handle %d is a device type\n", handle); else printf("Handle %d isn't 函数声明 函数功能 int isspace(int c); 检查字符 c 是否为空白字符,如空格(' ')、制表符('\t')、换行符('\n')等。
#define offsetof(type, member) ((size_t)(&((type *)0)->member))它是一个宏,用于获取结构体中某个成员的偏移量。 ;用于打开文件int openat(int dirfd, const char *pathname, int flags, mode_t mode);它是 Linux 系统定义的一个函数,它可以打开一个相对于指定目录的文件 参数:type : 表示结构体类型member : 表示结构体中的一个成员变量名返回值: 一个 size_t 类型的值,表示该成员变量在结构体中的偏移量(单位是字节)。 3. open3.1 函数说明函数声明函数功能 int open(const char *path, int oflag, ...) 3.3 运行结果4. openat4.1 函数说明函数声明函数功能 int openat(int dirfd, const char *pathname, int flags, mode_t mode)
, long offset, long length);它不是标准 C 库中的函数,而是 Linux/Unix 系统下用于文件锁定和解锁的函数 BOOL UnlockFile(HANDLE hFile, 2.3 运行结果3. ungetch3.1 函数说明函数声明函数功能 int ungetch(int c);用于将字符推回输入流中 参数:c : 要推回的字符3.2 演示示例#include <stdio.h 然后,在读取到非数字字符时,使用 ungetch() 函数将该字符推回输入流中,以保留它供后续使用。最后,使用 getch() 函数从输入流中读取一个字符,并打印出读取到的下一个字符和此时 i 的值。 /Unix 系统下用于文件锁定和解锁的函数 参数:handle : 要解锁的文件句柄offset: 解锁操作的起始偏移量(以字节为单位)。 通常情况下,偏移量应该为正整数,代表从文件开头开始的偏移量。如果 offset 参数小于零,则将从文件末尾开始向前计算偏移量。
中的一个函数,用于将 jiffies 值(内核节拍数)转换为 clock_t 类型的值。 第一类 1 阶贝塞尔函数 : %lf", x, result); return 0;} 2.4 运行结果3. jn,jnf3.1 第一类 n 阶贝塞尔函数 J_n(x) (n 为整数)3.1.1 linux/jiffies.h 中的一个函数,用于将 jiffies 值(内核节拍数)转换为 clock_t 类型的值。 注意: 在使用 jiffies_to_clock_t() 函数时,返回值类型是 clock_t,不同于 jiffies_to_msecs() 函数的返回值类型是 unsigned long。 /jiffies.h 中的一个函数,用于将 64 位 jiffies 值(内核节拍数)转换为 clock_t 类型的值。
总览函数声明函数功能 double hypot(double x, double y);计算直角三角形的斜边长(double) float hypotf (float x, float y);计算直角三角形的斜边长 resultL); if (resultL == HUGE_VALL) puts("1.0L/0.0L == HUGE_VALL\n"); return 0; }2.3 运行结果3. 5. hcreate,hcreate_r5.1 函数说明函数声明函数功能 int hcreate(size_t nel);根据条目数创建哈希表。 hsearch_r 函数与 hsearch 函数的不同之处在于,指向找到的项的指针以 *retval 形式返回,而不是作为函数结果。入参:item: 要搜索的哈希表条目。action: 功能操作。 7.2 演示示例参考 5.28. htonl, htons8.1 函数说明函数声明函数功能 uint32_t htonl(uint32_t hostlong);将 uint32_t(32位整数,如IPv4
总览函数声明函数功能 void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void * QuRT相关的函数详见 4.1 所示 1. qsort1.1 函数说明函数声明函数功能 void qsort(void *base, size_t nmemb, size_t size, int (*compar ,我们首先定义了一个整数数组 arr,并计算出数组的长度,赋值给 n;接着我们输出原始数组 "Before sorting: 5 2 8 4 1 9 3 6 7"然后我们使用 qsort() 函数将其按照升序排列 qsort() 函数中传入一个比较函数 compare(),用于比较两个元素的值。最后我们再次输出排序后的结果 ”After sorting: 1 2 3 4 5 6 7 8 9“。 3. qunsetenv3.1 函数说明函数声明函数功能 int qunsetenv(const char *name);用于从进程环境中移除指定的环境变量。
的 误差函数(float)long double erfl (long double x);计算 x 的 误差函数(long double)double erfc (double x);计算 x 的互补误差函数 (double)float erfcf (float x);计算 x 的互补误差函数(float)long double erfcl (long double x);计算 x 的互补误差函数(long decpt :指出给出小数点位置的整数值, 它是从该字符串的开头位置计算的。0 或负数指出小数点在第一个数字的左边。sign :指出一个指出转换的数的符号的整数。 getmaxy() - 50, stangle, midangle, xradius, yradius); getch(); closegraph(); return 0;}2.3 运行结果3. double erfc (double x);计算 x 的互补误差函数(double)float erfcf (float x);计算 x 的互补误差函数(float)long double erfcl
*/ va_end(args1); /* 清理原始可变参数列表 */}int main() { print_args(3, 10, 20, 30); return 0;}在上面的示例代码中 一个指向 va_list 类型的变量的指针,表示要访问的可变参数列表type : 一个类型说明符,表示下一个参数的类型2.2 演示示例可参考 1.2 中所示3. va_copy3.1 函数说明函数声明函数功能 它里面使用 vfprintf() 函数将格式化输出写入到一个文件流中;再然后,调用 rewind() 函数将文件指针重新定位到文件开头;再接着使用 fscanf() 函数从文件中读取数据,并使用 printf 如果创建文件失败,则打印错误信息并退出程序;接着,我们使用 fprintf() 函数将三个数据(一个整型数字、一个浮点数和一个字符串)写入该文件中;再然后,调用 rewind() 函数将文件指针重新定位到文件开头 myscan() 函数从字符数组 buffer 中读取数据,并将数据存储到另外 3 个变量中;在 myscan() 函数中, - 我们首先使用 va_start() 宏初始化一个 va_list
int rand(void);用于生成伪随机数 ssize_t read(int fd, void *buf, size_t count);用于从文件描述符读取数据的函数。 void *realloc(void *ptr, size_t size);用于重新分配已经分配过内存的空间大小。 2.3 运行结果3. read3.1 函数说明函数声明函数功能 ssize_t read(int fd, void *buf, size_t count);用于从文件描述符读取数据的函数。 3.3 运行结果4. realloc4.1 函数说明函数声明函数功能 void *realloc(void *ptr, size_t size);用于重新分配已经分配过内存的空间大小。 ,我们首先打开一个名为 tempnew.txt 的文件;然后使用 fgets() 函数从文件中读取文本行,并输出内容;接着使用 rewind() 函数将文件指针重置到文件开头,并再次读取文件内容并输出;
mode);创建一个新文件或重写一个已存在的文件 char *ctime(const time_t *time);把日期和时间转换为字符串1. cbrt,cbrtf,cbrtl1.1 函数说明函数声明函数功能 integer greater than or equal to the [x = %.4Lf] is %.4Lf", xL, ceill(xL)); return 0;}2.3 运行结果3. copysign,copysignf,copysignl3.1 函数说明函数声明函数功能 double copysign (double x, double y);通过组合x的大小和y的符号生成一个值 ); end = clock(); printf("end = %ld\n", end); printf("The time was: %.3lfs\n", (double) (end ){ time_t t; time(&t); printf("Today's date and time: %s\n", ctime(&t)); return 0;}17.3 运行结果参考