C/C++中的标准库函数总结

C 语言中有大量的标准库函数,根据功能不同,声明于不同的头文件中。这些库函数在C++中也能使用。下面分类总结了一些C 语言常用库函数。

一、数学库函数
数学库函数声明在 math.h 中,C++是cmath。

符号含义
abs(x)求整型数x 的绝对值
cabs(struct complex znum)返回复数znum的绝对值
cos(x)x(弧度)的余弦
fabs(x)求浮点数x 的绝对值
labs(long n)返回长整型参数n的绝对值
ceil(x)求不小于x 的最小整数
floor(x)求不大于x 的最小整数
exp(double x)返回指数函数e^x的值
log(x)求x 的自然对数
log10(x)求x 的对数(底为10)
pow(x, y)求x 的y 次方
sin(x)求x(弧度)的正弦
sqrt(x)求x 的平方根
srand(unsigned seed)初始化随机数发生器
int rand()产生一个随机数并返回这个数

二、字符串处理函数
字符串处理函数在 ctype.h/ctype 中声明。

符号含义
int isdigit(int c)判断c 是否是数字字符
int isalpha(int c)判断c 是否是一个字母
int isalnum(int c)判断c 是否是一个数字或字母
int islower(int c)判断 c 是否是一个小写字母
int islower(int c)判断 c 是否是一个小写字母
int isupper(int c)判断 c 是否是一个大写字母
int toupper(int c)如果 c 是一个小写字母,则返回其大写字母
int tolower (int c)如果 c 是一个大写字母,则返回其小写字母

三、字符串和内存操作函数
字符串和内存操作函数声明在 string.h/string中,在调用这些函数时,可以用字符串常量或字符数组名,以及char * 类型的变量,作为其 char * 类型的参数。

函数格式含义
char * strchr(char * s, int c)如果s 中包含字符c, 则返回一个指向s 第一次出现的该字符的指针, 否则返回NULL
char * strstr(char * s1, char * s2)如果s2 是s1 的一个子串,则返回一个指向s1 中首次出现s2 的位置的指针,否则返回NULL
char * strlwr(char * s)将s 中的字母都变成小写
char * strupr( char * s)将s 中的字母都变成大写
char * strcpy( char * s1, char * s2)将字符串s2 的内容拷贝到s1 中去
char * strncpy( char * s1, char * s2, int n)将字符串s2 的内容拷贝到s1 中去,但是最多拷贝n 个字节。如果拷贝字节数达到n,那么就不会往s1 中写入结尾的’\0’
char * strcat( char * s1, char * s2)将字符串s2 添加到s2 末尾
int strcmp( char * s1, char * s2)比较两个字符串,大小写相关。如果返回值小于0,则说明s1 按字典顺序在s2 前面;返回值等于0,则说明两个字符串一样;返回值大于0,则说明s1 按字典顺序在s2 后面。
int stricmp( char * s1, char * s2)比较两个字符串,大小写无关。其他和strcmp 同。
int strlen(const char *string)计算字符串的长度
char * strncat(char *strDestination, const char *strSource, size_t count)将字符串strSource 中的前count 个字符添加到字符串strDestination 的末尾
int strncmp(const char *string1, const char *string2, size_t count)分别取两个字符串的前count 个字符作为子字符串,比较它们的大小
char * strrev(char *string)将字符串string 前后颠倒。
void * memcpy( void * s1, void * s2, int n)将内存地址s2处的n 字节内容拷贝到内存地址s1
void * memset( void * s, int c, int n)将内存地址s 开始的n 个字节全部置为c

四、字符串转换函数
有几个函数,可以完成将字符串转换为整数、或将整数转换成字符串等这类功能。它们定义在 stdlib.h/cstdlib 中。

函数格式含义
int atoi(char *s)将字符串s 里的内容转换成一个整型数返回。若字符串s 的内容是“123”,那么函数返回值就是123
double atof(char *s)将字符串s 中的内容转换成浮点数。
char *itoa(int value, char *string, int radix)将整型值value 以radix 进制表示法写入 string。

参考资料:
C语言标准库函数–数学函数、字符(串)处理函数
C++标准库中的数学函数

  • 6
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C语言标准库,我们可以利用一些函数来进行文件的下载操作。其常用函数有: 1. fopen():用于打开一个文件。我们可以使用这个函数打开需要下载的文件,获取到文件的指针。 2. fread():用于读取文件数据。我们可以使用这个函数来读取下载文件的数据。 3. fwrite():用于将数据写入文件。我们可以使用这个函数将下载的数据写入到本地文件。 4. fclose():用于关闭文件。在下载完成后,我们可以使用这个函数关闭文件。 5. 对于网络下载,我们还需要使用到一些库函数,如curl库的一些函数,比如curl_init()、curl_setopt()和curl_exec()等。 以使用标准库函数进行简单的文件下载为例,代码如下: ```c #include <stdio.h> int main() { FILE *fp; char url[] = "https://example.com/file.txt"; // 下载文件的URL char buffer[1024]; // 打开文件 fp = fopen("file.txt", "wb"); if (fp == NULL) { printf("无法打开文件\n"); return 1; } // 下载文件 FILE *wget = popen("wget -q https://example.com/file.txt 2>&1", "r"); // 读取文件数据,并写入本地文件 size_t bytesRead; while ((bytesRead = fread(buffer, 1, sizeof(buffer), wget)) > 0) { fwrite(buffer, 1, bytesRead, fp); } // 关闭文件 fclose(fp); return 0; } ``` 以上代码通过执行wget命令将指定URL的文件下载到本地,并将数据写入到file.txt的文件。 当然,实际的文件下载可能需要考虑更多的情况,比如网络连接的异常处理、下载进度的显示等,这需要根据具体情况进行更详细的处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值