总览函数声明函数功能 char * strdup(const char *s);用于将一个以 NULL 结尾的字符串复制到新分配的内存空间中 int stricmp(const char *s1, const \n"); fclose(file); } return 0;}3.3 运行结果4. strcmpi4.1 函数说明函数声明函数功能 int strcmpi(const ; int result = strncmp(s1, s2, 4); // 比较前4个字符 if(result == 0) { printf("The ; int result = strncmpi(s1, s2, 4); // 比较前4个字符,忽略大小写 if(result == 0) { printf ; int result = strnicmp(s1, s2, 4); // 比较前4个字符,忽略大小写 if(result == 0) { printf
4. spawnl4.1 函数说明函数声明函数功能 int spawnl(int mode, const char *cmdname, const char *arg0, ..., NULL);它是在 ", value); printf("%s\n", buffer); return 0;}6.3 运行结果7. snprintf7.1 函数说明函数声明函数功能 int snprintf(char 注意: 在格式字符串中,%s 表示读取一个字符串,%d 表示读取一个整数。另外,%*s 表示读取并忽略一个字符串。 s\n", str1); return 0;}14.3 运行结果15. strchr15.1 函数说明函数声明函数功能 char* strchr(const char* str, int c);用于查找字符串中第一次出现指定字符的位置 n", src); printf("Destination string: %s\n", dest); return 0;}注意: strcpy() 函数只能用于复制以 \0 结尾的字符串,
, int thickness );设置当前绘图窗口的线条样式、线型模式和线条宽度参数:linestyle : 线条样式,取值范围为 0 到 4,不同的值对应着不同的线条样式,详见如下表格upattern USERBIT_LINE4双点线1.2 演示示例#include <graphics.h>#include <string.h>/* the names of the line styles supported ' setmem(str, 10, 'A'); printf("%s\n", str); free(str); return 0;}在上面的示例程序中,我们首先使用 malloc 3.3 运行结果4. setpalette4.1 函数说明函数声明函数功能 void setpalette(int colornum, int color);设置调色板的颜色参数:colornum : 、方向和大小 settextstyle(TRIPLEX_FONT, HORIZ_DIR, 4); // 输出一行文本 outtextxy(100, 100, "Hello, world
总览函数声明函数功能 void *sbrk(intptr_t increment);它是一个 Unix 系统的函数,用于调整程序的堆空间。 resultL = scalblnl(z, n); printf("scalblnl(%Lf, %ld) = %Lf", z, n, resultL); return 0;}3.3 运行结果4. ]; scanf("%s", name); printf("Welcome, %s", name); return 0;}在上述示例中,实现了从标准输入中读取一个字符串,并输出欢迎消息 我们首先定义一个名为 name 的字符数组,长度为 20;然后使用 scanf() 函数从标准输入中读取一个字符串,存储到 name 数组中;最后使用 printf() 函数输出欢迎消息,其中 %s 表示字符串格式化符号 中文描述0 BLACK 黑 1 BLUE 蓝 2 GREEN 绿 3 CYAN 青 4 RED 红 5 MAGENTA
: abort() 函数用于终止当前程序的执行。 4. abswrite4.1 函数说明函数声明函数功能 int abswrite(int drive, int nsects, int sectno, void *buffer);将指定内容写入磁盘上的指定扇区 ,首先调用了 allocmem() 函数来分配内存,其中传递了两个参数:size 表示请求的内存大小(以段为单位),这里设置为 64 段;&segp 表示返回的内存段地址将存储在此变量中。 如果成功分配内存,allocmem()函数将返回 -1,并打印出已分配内存的段地址;否则,它将返回最大可用段数,并打印出失败的消息。 t.tm_mon = 11; /* Month */ t.tm_year = 56; /* Year - does not include century */ t.tm_wday = 4;
3.3 运行结果4. nextafter,nextafterf,nextafterl4.1 函数说明函数声明函数功能 double nextafter(double x, double y);用于找出与给定的浮点数最接近的下一个浮点数 *str1 = "äbc"; const char *str2 = "abc"; int result = strcoll_l(str1, str2, loc); printf("%s %s %s\n", str1, (result < 0 ? char *fpath, const struct stat *sb, int typeflag, struct FTW *ftwbuf){ // 打印文件路径和类型 printf("%s n", time_fmt); printf("Date format: %s\n", date_fmt); return 0;}在上述的程序中,我们使用 nl_langinfo(T_FMT)
char *kstrdup(const char *s, gfp_t flags);它是 Linux 内核中的一个函数,用于在内核空间中复制一个以 NULL 结尾的字符串,并返回这个新的字符串指针。 char *kstrndup(const char *s, size_t len, gfp_t flags);它是 Linux 内核中的一个函数,用于在内核空间中复制一个以 NULL 结尾的字符串的一部分 4. kernel_thread4.1 函数说明函数声明函数功能 asmlinkage int kernel_thread(int (*fn)(void *), void *arg, unsigned 19. kstrdup19.1 函数说明函数声明函数功能 char *kstrdup(const char *s, gfp_t flags);它是 Linux 内核中的一个函数,用于在内核空间中复制一个以 20. kstrndup20.1 函数说明函数声明函数功能 char *kstrndup(const char *s, size_t len, gfp_t flags);它是 Linux 内核中的一个函数
tell(int fd);用于返回文件指针当前位置相对于文件开头的偏移量long int telldir(DIR *dirp);获取目录流的当前位置int textheight(char *string }2.3 运行结果3. tell3.1 函数说明函数声明函数功能 off_t tell(int fd);用于返回文件指针当前位置相对于文件开头的偏移量参数:fd : 是文件描述符,表示要查询的文件3.2 SEEK_CUR); printf("读取了 %d 个字节后,文件偏移量是 %ld\n", nread, offset); close(fd); return 0;}3.3 运行结果4. 7.3 运行结果8. tmpnam8.1 函数说明函数声明函数功能 char *tmpnam(char *s);用于创建一个唯一的临时文件名参数:s : 一个指向字符数组的指针,用于存储临时文件名。 再接着使用 putenv_s() 函数将 standard_name 设置为环境变量 TZ 的值,并使用 tzset 函数更新本地时区信息。
void的函数。 4. div4.1 函数说明函数声明函数功能 div_t div(int number, int denom);将两个整数相除, 返回商和余数 4.2 演示示例#include <stdio.h>#include getmaxy(); poly[0] = 20; poly[1] = maxy / 2; poly[2] = maxx - 20; poly[3] = 20; poly[4] 首先调用fflush函数来刷新传入的文件流的缓冲区;然后,使用dup函数复制文件描述符,并将其存储在duphandle变量中;接着,打印出复制的文件句柄;最后,关闭复制的文件句柄。 )打开,并设置文件权限为可读可写(S_IREAD | S_IWRITE);将返回的文件描述符赋值给 handle,并打印出来;使用 dup 函数备份当前的标准输出(STDOUT),将备份的文件描述符赋值给
= grOk) /* an error occurred */ { printf("Graphics error: %s\n", grapherrormsg(errorcode = grOk) /* an error occurred */ { printf("Graphics error: %s\n", grapherrormsg(errorcode listings */ exit (1); } getcwd(buffer, BUFLEN); printf("The current directory is: %s\ 端口号通常是一个介于0到3之间的数字,对应于计算机上的COM1到COM4(或其他更高编号的端口,但这取决于计算机的硬件配置)。 gotoxy(50, 4); cprintf("%.4f", bios_time / CLK_TCK / 3600); } return 0; } 11.
总览函数声明函数功能 void perror(const char *s);用于将当前错误码对应的错误信息打印到标准输出设备(通常是终端)。 1. perror1.1 函数说明函数声明函数功能 void perror(const char *s);用于将当前错误码对应的错误信息打印到标准输出设备(通常是终端)。 参数:s : 用于描述错误类型或者出错的上下文信息。它会在该信息后面追加当前错误码对应的错误信息,并且自动换行。 12.3 运行结果13. puts13.1 函数说明函数声明函数功能 int puts(const char *s);用于将一个字符串输出到标准输出流参数:s: 要输出的以 '\0' 结尾的字符串返回值 参数:w : 要写入的整数值stream : 指向要写入的文件的指针。返回值:如果成功,则返回写入的字节数(通常为 4 个字节);如果发生错误,则返回 EOF。
3.3 运行结果4. lfind4.1 函数说明函数声明函数功能 void *lfind(const void *key, const void *base, size_t nmemb, size_t \n", key); } return 0;}上述示例程序中,首先定义了一个整型数组 arr 并初始化为 { 3, 1, 4, 1, 5, 9, 2, 6, 5 }。 :handle : 文件描述符offset : 偏移量whence : 偏移量的参考位置SEEK_SET: 从文件开头开始计算偏移量(即绝对位置)SEEK_CUR: 从当前位置开始计算偏移量(即相对位置 )SEEK_END: 从文件结尾开始计算偏移量(即反向偏移)返回值:如果成功,则返回新的文件指针位置(即距离文件开头的字节数);如果发生错误,则返回 -1。 然后,调用 lseek() 函数将文件指针移动到距离文件开头 5 个字节处。接着,调用 read() 函数从该位置开始读取 5 个字节的数据,并输出读取结果。
x = 0; y = getmaxy() / 2; draw_arrow(x, y); size = imagesize(x, y-ARROW_SIZE, x+(4* ARROW_SIZE); // 分配内存以保存图像 arrow = malloc(size); // 抓取图像 getimage(x, y-ARROW_SIZE, x+(4* (); return 0; } void draw_arrow(int x, int y) { // 在屏幕上画一个箭头 moveto(x, y); linerel(4* result = inport(port); printf("Word read from port %d = 0x%X\n", port, result); return 0; } 4. installuserfont("USER.CHR"); checkerrors(); // 选择用户字体 settextstyle(userfont, HORIZ_DIR, 4)
my_obstack, strlen(str1) + strlen(str2) + 1); strcpy(dst, str1); strcat(dst, str2); printf("%s\ 最后,我们使用 printf() 函数将连接后的字符串、添加的整数和添加的双精度浮点数输出到终端,并使用 obstack_free() 函数释放通过对象堆栈分配的所有内存。 3.3 运行结果4. openat4.1 函数说明函数声明函数功能 int openat(int dirfd, const char *pathname, int flags, mode_t mode) = NULL) { printf("%s\n", entry->d_name); } if (closedir(dirp) == -1) { perror("closedir = NULL) { printf("%s\n", entry->d_name); } if (closedir(dirp) == -1) { perror("closedir
0xDEADBEEF; char str[20]; _ultoa(num, str, 16); printf("The hexadecimal representation of %lu is %s\ 3.3 运行结果4. unix2dos4.1 函数说明函数声明函数功能 int unix2dos(const char *src_file, const char *dst_file);用于将文本文件的行末标志符从 通常情况下,偏移量应该为正整数,代表从文件开头开始的偏移量。如果 offset 参数小于零,则将从文件末尾开始向前计算偏移量。 handle = sopen("test.txt",O_RDONLY,SH_DENYNO,S_IREAD); if (handle < 0) { printf("sopen 由于文件大小可能超过 4GB,因此需要使用两个参数表示完整的偏移量nNumberOfBytesToUnlockLow 和 nNumberOfBytesToUnlockHigh: 要解锁的字节数。
总览函数声明函数功能 double j0 (double x);计算 x 的 第一类 0 阶贝塞尔函数(double) float j0f (float x);计算 x 的 第一类 0 阶贝塞尔函数(float jnPrint(int n, double x);int main(){ double x = 10.0; jnPrint(2, x); jnPrint(3, x); jnPrint(4, d 阶贝塞尔函数 : %lf\n", x, n, result);}3.4 运行结果4. jrand484.1 函数说明函数声明函数功能 double jrand48();生成伪随机数序列 jrand48 函数是一个生成伪随机数序列的函数,并且它是可重入的,即可以在多个线程中同时调用而不会出现冲突。 POSIX 标准的函数。
总览函数声明函数功能 double hypot(double x, double y);计算直角三角形的斜边长(double) float hypotf (float x, float y);计算直角三角形的斜边长 4. highvideo4.1 函数说明函数声明函数功能 void highvideo(void);选择高亮度文本字符 4.2 演示示例#include <stdio.h>#include <conio.h -> %9.9s:%d\n", e.key, ep ? hsearch_r 函数与 hsearch 函数的不同之处在于,指向找到的项的指针以 *retval 形式返回,而不是作为函数结果。入参:item: 要搜索的哈希表条目。action: 功能操作。 7.2 演示示例参考 5.28. htonl, htons8.1 函数说明函数声明函数功能 uint32_t htonl(uint32_t hostlong);将 uint32_t(32位整数,如IPv4
,我们首先定义了一个整数数组 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“。 此外,一些操作系统可能不支持对环境变量进行动态修改,因此无法保证 qunsetenv() 函数在所有平台上都能正常工作。4. ; // 打印从共享内存区域中读取的数据 printf("%s\n", buf); // 删除共享内存区域 qurt_mem_region_delete(shm); return printf("%s\n", buf);}在上述示例程序中,我们首先使用 qurt_pipe_create() 函数创建一个大小为 1024 字节的管道对象,属性设置为阻塞式字节队列。
的 误差函数(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 :指出一个指出转换的数的符号的整数。 eof(handle)); close(handle); return 0;}3.3 运行结果4. execl4.1 函数说明函数声明函数功能 int execl(const char *pathname double erfc (double x);计算 x 的互补误差函数(double)float erfcf (float x);计算 x 的互补误差函数(float)long double erfcl
print_args() 函数,并传入了 4 个入参,第一个为 可变参数的个数,后面三个为具体的整数型可变参数。 ,表示目标可变参数列表src : 另一个指向 va_list 类型的变量的指针,表示要被复制的可变参数列表3.2 演示示例可参考 1.2 中所示4. va_end4.1 函数说明函数声明函数功能 void 它里面使用 vfprintf() 函数将格式化输出写入到一个文件流中;再然后,调用 rewind() 函数将文件指针重新定位到文件开头;再接着使用 fscanf() 函数从文件中读取数据,并使用 printf =%d, b=%.4f, s=%s\n", a, b, s); return 0;}在上面的示例代码中,我们首先定义了三个变量 整形 a 、浮点型 b 和 字符数组 s;然后,调用自定义的 myprint %d, b=%.4f, s=%s\n", a, b, s); return 0;}在上面的示例代码中,我们首先定义了四个变量 整形 a 、浮点型 b 、 字符数组 s 和 字符数组 buffer;