记录一些常用C标准库函数,以及Linux系统调用函数的作用(不断更新)
C标准库函数
perror() 函数
作用:perror函数是C标准库
中的一种函数,用于在STDERR(标准错误输出流)中输出给定的错误信息字符串。它不属于Linux系统调用函数。
具体使用方法:perror("调用的函数名")
所需导入的头文件:#include <stdio.h>
ctime()函数
作用:ctime() 函数是 C 语言标准库函数,用于将给定的时间(以 Unix 时间戳形式表示)转换为有关的本地日期和时间。该字符串将以单个字符串形式返回,包含月、日、小时、分钟、秒和年份,格式如下:Wed Jun 30 21:49:08 1993
该函数的函数原型为:time_t ctime (const time_t *timer);
这是 ctime() 函数的函数原型,它接受一个 const time_t 类型的指针作为参数,并返回一个 time_t 类型的值。
你可以使用#include <time.h>来导入头文件
strcmp函数
strcmp()函数用来比较两个字符串。它的签名为int strcmp(const char *str1, const char *str2); 其中str1和str2是要比较的两个字符串。
返回值
如果字符串相等,则返回0;
如果字符串str1小于字符串str2(即字符串str1在字典中位于字符串str2之前),则返回负数;
如果字符串str1大于字符串str2(即字符串str1在字典中位于字符串str2之后),则返回正数。
示例
下面介绍一个使用strcmp()函数的示例:
#include <stdio.h>
#include <string.h> int main()
{ char s1[15] = "Hello"; char s2[15] = "GoodBye"; int res = strcmp(s1, s2); if (res == 0) printf("两个字符串相等\n"); else if (res > 0) printf("字符串s1位于s2之后\n"); elseprintf("字符串s1位于s2之前\n"); return 0;
}
输出:字符串s1位于s2之前
sprintf()函数
sprintf() 用于将格式化的字符串写入某个字符数组中。该函数被用来构建一个包含格式说明符的字符串,然后将变量值写入该字符串中。
函数原型:
int sprintf ( char *str, const char *formatString, ...);
参数:
str: 指向要使用 sprintf() 写入的字符串的指针。
formatStrung: 这是一个格式字符串,它由常见的占位符和字符组成。
… : 所有的变量和值。
返回值
返回一个整形n,代表已经写入字符数组的数据有多少。
示例
#include <stdio.h>int main ()
{char message[100];int n;n=sprintf (message, "This is a sample string with an integer value %d", 10);printf("%s\n", message);printf("The number of characters written up to this point is %d \n", n);return 0;
}
输出:
This is a sample string with an integer value 10
The number of characters written up to this point is 48
exit函数
C语言中的exit()函数是由stdlib.h头文件定义的库函数,用于终止程序中正在运行的主进程,并向操作系统(OS)返回一个整数。它强制终止程序,在触发之后不会执行任何剩余代码。
它是ISO C标准库的一部分,可以在许多不同的操作系统上使用,包括Unix和Linux。
exit(0) 是一个C/C++里面的函数,用来正常终止当前进程。它也能用在使用bash脚本时,且通常表示正常退出。0 参数可以替换成其他数字,以指明非正常退出。
Linux系统调用函数
getpwuid() 函数
作用:getpwuid() 是Linux系统调用函数
。该函数返回一个指定用户ID号的用户登录信息,是根据etc/passwd文件中的内容获得信息的。
它的原型为:
struct passwd *getpwuid(uid_t uid);
其中uid_t为无符号长整数类型,是应用程序提供的用户识别码,而后续返回一个指针,指向一个passwd结构变量,该结构存储了用于识别给定 UID 的用户的详细信息。
要使用 getpwuid() 函数,你需要在你的C程序中导入 <sys/types.h> 和 <pwd.h> 两个头文件。
getgrgid()函数
作用:getgrgid()函数属于Linux系统调用函数
。它可以用来检索当前定义的用户组信息,该信息存储在/etc/group文件中。此外,它还可以用来检索特定用户组ID(GID)的用户组信息。
该函数的函数原型为:
struct group *getgrgid(gid_t gid);
如果你想使用getgrgid()函数,则需要包含<grp.h> 头文件。