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

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

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

以下是对第一项 内存及字符串控制及操作 的归纳整理。

  • 已经不赞成使用的函数归类
*
* 函数名 用途 替换方案
*. int bcmp(const void *s1, const void *s2, size_t n); compare byte sequences memcmp
*
*. void bcopy(const void *src, void *dest, size_t n); copy byte sequence memcpy Or memmove
*
*. void bzero(void *s, size_t n); write zero-valued bytes memset
*
*. char *index(const char *s, int c); locate character in string strchr
*
*. char *rindex(const char *s, int c); locate character in string strrchr
*
  • 内存或字符串查找函数归类
*           函数名                                                   用途                                       备注
*. void *memchr(const void *s, int c, size_t n); scan memory for a character (Forward) return a pointer to the matching byte or NULL if the
character does not occur in the given memory area.
*
*. void *memrchr(const void *s, int c, size_t n); scan memory for a character (Backward) return a pointer to the matching byte or NULL if the
character does not occur in the given memory area.
*
*. char *strchr(const char *s, int c); locate character in string (Forward) return a pointer to the matched character or NULL if
the character is not found.
*
*. char *strrchr(const char *s, int c); locate character in string (Backward) return a pointer to the matched character or NULL if
the character is not found.
*
*. char *strstr(const char *haystack, const char *needle); locate a substring return a pointer to the beginning of the substring,
or NULL if the substring is not found.
*
*. char *strcasestr(const char *haystack, const char *needle); locate a substring,ignores the return a pointer to the beginning of the substring,
case of both arguments. or NULL if the substring is not found.
*
  • 内存及字符串拷贝、比较函数归类
*           函数名                                                  用途                                        备注
*
*. void *memcpy(void *dest, const void *src, size_t n); copy memory area The memcpy() function returns a pointer to dest.
*
*. char *strcpy(char *dest, const char *src); copy a string return a pointer to the destination string dest.
*
*. char *strncpy(char *dest, const char *src, size_t n); copy a string return a pointer to the destination string dest.
*
*. void *memmove(void *dest, const void *src, size_t n); copy memory area , may overlap returns a pointer to dest.
*
*. int memcmp(const void *s1, const void *s2, size_t n); compare memory areas returns an integer less than, equal to, or greater than zero if the first n bytes of s1 is found
*
*. int strcmp(const char *s1, const char *s2); compare two strings return an integer less than, equal to, or greater than zero if s1 is foundfound
*
*. int strncmp(const char *s1, const char *s2, size_t n); compare two strings UP
*
*. int strcasecmp(const char *s1, const char *s2); compare two strings ignoring case UP
*
*. int strncasecmp(const char *s1, const char *s2, size_t n); compare two strings ignoring case UP
*
* . char *strdup(const char *s); duplicate a string returns a pointer to a new string which is a duplicate of the string s. Memory for the new string is obtained with
*
  • 内存或字符串连接、分割、求长等函数归类
*           函数名                                                  用途                                            备注
*. char *strcat(char *dest, const char *src); concatenate two strings return a pointer to the resulting string dest
*
*. char *strncat(char *dest, const char *src, size_t n); UP UP
*
*. char *strtok(char *str, const char *delim); extract tokens from strings 第一次调用时,str必须不为空,第二次调用str必须为空
*
*. char *strtok_r(char *str, const char *delim, char **saveptr); 可重入函数,线程安全 推荐使用这个分割函数,具体讨论见http://blog.csdn.net/liuintermilan/article/details/6283705
*

以上,就是对第一项的整理归纳。接下来,会对第二项 字符串转换  进行归纳。

归纳整理Linux下C语言常用的库函数----内存及字符串控制及操作的更多相关文章

  1. 归纳整理Linux下C语言常用的库函数----文件操作

    在没有IDE的时候,记住一些常用的库函数的函数名.参数.基本用法及注意事项是很有必要的. 参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类: 1. 内存及字符串控制及操作 2. ...

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

    在没有IDE的时候,记住一些常用的库函数的函数名.参数.基本用法及注意事项是很有必要的. 参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类: 1. 内存及字符串控制及操作 2. ...

  3. 归纳整理Linux下C语言常用的库函数----字符串转换、字符测试、及内存控制

    在没有IDE的时候,记住一些常用的库函数的函数名.参数.基本用法及注意事项是很有必要的. 参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类: 1. 内存及字符串控制及操作 2. ...

  4. 笔记整理——Linux下C语言正则表达式

    Linux下C语言正则表达式使用详解 - Google Chrome (2013/5/2 16:40:37) Linux下C语言正则表达式使用详解 2012年6月6日Neal627 views发表评论 ...

  5. LINUX下C语言编程基础

    实验二 Linux下C语言编程基础 一.实验目的 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用 ...

  6. Unix和Linux下C语言学习指南

    转自:http://www.linuxdiyf.com/viewarticle.php?id=174074 Unix和Linux下C语言学习指南 引言 尽管 C 语言问世已近 30 年,但它的魅力仍未 ...

  7. LINUX下C语言编程调用函数、链接头文件以及库文件

    LINUX下C语言编程经常需要链接其他函数,而其他函数一般都放在另外.c文件中,或者打包放在一个库文件里面,我需要在main函数中调用这些函数,主要有如下几种方法: 1.当需要调用函数的个数比较少时, ...

  8. Linux下提权常用小命令

    有些新手朋友在拿到一个webshell后如果看到服务器是Linux或Unix操作系统的就直接放弃提权,认为Linux或Unix下的提权很难,不是大家能做的,其实Linux下的提权并没有很多人想象的那么 ...

  9. linux下C语言多线程编程实例

    用一个实例.来学习linux下C语言多线程编程实例. 代码目的:通过创建两个线程来实现对一个数的递加.代码: //包含的头文件 #include <pthread.h> #include ...

随机推荐

  1. Hello World模式

    http://www.rabbitmq.com/getstarted.html https://github.com/rabbitmq/rabbitmq-tutorials 环境搭建 这里使用grad ...

  2. iOS笔记之AutoresizingMask

    在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高. enum {   UIViewAutoresi ...

  3. jQuery - 左右拖动分隔条

    1.实现效果: 2.代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http ...

  4. vue.js 源代码学习笔记 ----- text-parse.js

    /* @flow */ import { cached } from 'shared/util' import { parseFilters } from './filter-parser' //找到 ...

  5. PostgreSQL查询长连接

    apple=# select pid, backend_start, xact_start, query_start, waiting, state, backend_xid from pg_stat ...

  6. 折半查找(C语言)

    一.二分查找 在C和C++里,二分查找是针对有序数组所用的一种快速查找元素的方法. 二.二分查找的条件以及优缺点 条件:针对有序数组(元素从小到大或从大到小) 优点:查询速度较快,时间复杂度为O(n) ...

  7. 从event loop规范探究javaScript异步及浏览器更新渲染时机

    异步的思考 event loops隐藏得比较深,很多人对它很陌生.但提起异步,相信每个人都知道.异步背后的“靠山”就是event loops.这里的异步准确的说应该叫浏览器的event loops或者 ...

  8. cratedb 集群 docker-compose 安装试用

    关于集群的配置说明可以参考官方文档,或者es 文档 详细代码参考 https://github.com/rongfengliang/cratedb-cluster-docker 参考配置 docker ...

  9. python学习(二)—简明python教程

    2016-04-14 20:55:16 八.模块 简介 前面介绍了如何在程序中定义一次函数而重用代码.在其他程序中重用很多函数,就需要使用模块.模块基本上就是一个包含了所有你定义的函数和变量的文件.模 ...

  10. socket编程---TCP

    服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接.在这时如果有个客户端初始化一个Socket,然后连接服务器(connec ...