热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

归纳整理Linux下C语言常用的库函数时间日期数学及算法

在没有IDE的时候,记住一些常用的库函数的函数名、参数、基本用法及注意事项是很有必要的。

参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类:

  • 1. 内存及字符串控制及操作
  • 2. 字符串转换
  • 3. 字符测试
  • 4. 文件操作
  • 5. 时间日期
  • 6. 常用数学函数
  • 7. 文件内容操作
  • 8. 文件权限控制
  • 9. 进程操作
  • 10. 线程操作
  • 11. Socket操作
  • 12. 信号处理
  • 13. 数据结构及算法

 


 

 

  • 时间函数归类
/*时间函数归类
*
*           函数名                                  用法                                备注
*
*1.char *asctime(const struct tm *tm);          先获得tm,然后再字符串格式表示          线程不安全,有安全版本加_r
*
*2.char *ctime(const time_t *timep);            可直接通过time()获得形参                UP
*
*3. struct tm *gmtime(const time_t *timep);     格式间转换                              线程不安全
*
*4.struct tm *localtime(const time_t *timep);   NT                                      UP
*
*5.time_t mktime(struct tm *tm);                NT                                      NT
*
*6.time_t time(time_t *tloc);                   NT                                      首先被调用
*
*7. int gettimeofday(struct timeval *tv, struct timezone *tz);  NT                      获得时间
*
*8. int settimeofday(const struct timeval *tv, const struct timezone *tz);      NT      设置时间
*
*9. size_t strftime(char *s, size_t max, const char *format,
                       const struct tm *tm);    NT                                      时间转换成字符串,可以按指定格式
*
*/
  • 常用数学函数归类
/*常用数学函数归类
*
*           函数名                                  用法                                备注
*
*1. int abs(int j);                         求整数的绝对值                              NT,GCC编译需要加-lm
*
*2. float ceilf(float x);                   不小于参数的最小整型值                      NT
*
*3.double exp(double x);                    计算以e为底的x次方值                        NT
*
*4. double log(double x);                   计算以e为底的x对数值                        NT
*
*5. double sqrt(double x);                  计算平方根值                                NT
*
*6.double pow(double x, double y);          计算以x为底的y次方值                        NT
*
*7. double log10(double x);                 计算以10为底的x对数值                       NT
*/

 

  • 数据结构及算法归类
/*数据结构及算法归类
*
*           函数名                                  用法                                备注
*
*1.char *crypt(const char *key, const char *salt);  加密数据                            线程不安全,有安全版本_r,GCC编译需要加-lcrypt
*
*2.void qsort(void *base, size_t nmemb, size_t size,
       int(*compar)(const void *, const void *));  比较函数可以根据是整数还是char 来做类似strcmp的函数      支持各种数据类型的快排
*
*3.int rand_r(unsigned int *seedp);             产生随机数种子                          一般情况下,参数可以填time(NULL),种子不同则随机值不同
*
*4.int rand(void);                              产生[0, RAND_MAX]内的随机值             不可重入,有安全版本_r
*
*/

 

 

以上就是对  时间日期函数、数学函数、算法函数等  的总结。

 

接下来将总结socket、线程、进程及信号。


推荐阅读
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文介绍了如何使用 Spring Boot DevTools 实现应用程序在开发过程中自动重启。这一特性显著提高了开发效率,特别是在集成开发环境(IDE)中工作时,能够提供快速的反馈循环。默认情况下,DevTools 会监控类路径上的文件变化,并根据需要触发应用重启。 ... [详细]
  • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
author-avatar
手机用户2502857731
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有