系统函数学习笔记1
来源:互联网 发布:无线连接网络打印机 编辑:程序博客网 时间:2024/06/05 01:56
函数学习
1、snprintf
函数名:snprintf
函数原型:int snprintf(char *str, size_t size,const char *format);
函数功能:格式化输出转换(formatted output conversion),往字符串str中写
所属头文件:#include <stdio.h>
返回值:
成功:返回函数一次写入字符串的个数,不包括'\0';字符串长度小于size,实际返回的是字符串的长度,如果大于size,最大写入前size
失败:返回一个负数
参数说明:
char *str:要写入的数组的地址
size_t size:每次写入的最大字符数(不包括'\0')
char *format:源字符串
eg:
snprintf(lenbuf,sizeof(lenbuf),"%04d",ilMsglen);
将ilMsglen的值按照%04d的格式大小为sizeof(lenbuf)写入到lenbuf中
2、inet_ntoa
函数名:inet_ntoa
函数原型:char *inet_ntoa(struct in_addr in);
函数功能:网络地址操作常规,
函数将给定的以标准的数字点标记法的网络主机地址转化成字符串,字符串返回放在静态分配的数组中,可被重写的
所属头文件:
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
返回值:
返回字符串??
参数说明:
eg:
3、ntohs
函数名: ntohs
函数原型:uint16_t ntohs(uint16_t netshort);
函数功能:在主机和网络字节顺序中转换值,具体的是将无符号的整型数netshort从网络字节顺序转换成主机自己顺序
所属头文件:
#include <arpa/inet.h>
返回值:
参数说明:
eg:
4、setsockopt
函数名:setsockopt
函数原型:
int setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen);
int set(listenfd,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof(opt));
函数功能:在socket上得到和设置,函数操作socket的相关选项,选项可以存在多种协议层级,他们通常在socket的最高级
所属头文件:
#include <sys/types.h>
#include <sys/socket.h>
返回值:
成功:返回0
失败:返回-1
参数说明:
int s;监听端口的描述符
int level:SOL_SOCKET为了在sokcet层操作level被指定为SOL_SOCKET
optname即SO_REUSEADDR设置为1,表示允许创建端口号相同但IP地址不同的多个socket描述符
eg:
5、time
函数名:time
函数原型:time_t time(time_t *t);
函数功能:得到以秒计数的时间,返回从Epoch计时的时间
所属头文件:
#include <time.h>
返回值:
成功:返回正确的Epoch时间
失败:返回((time_t)-1)
参数说明:
time_t *t:
eg:time(&llClass);???
6、getpid
函数名:getpid
函数原型:pid_t getpid(void);
函数功能:得到进程识别??返回当前进程的进程ID,通常情况下经常用来产生唯一的空的文件名(this is often
used by routines that generate unique temporary filenames).
所属头文件:
#include <sys/types>
#include <unistd.h>
返回值
成功:???
失败:???
参数说明:无
eg:
7、menset
函数名:memset
函数原型:void *memset(void *s, int c, size_t n);
函数功能:用一个连续的字节填充内存,函数用c填充s指向的内存区域的前n个字节
所属头文件
#include <string.h>
返回值:
返回一个指向内存区域的指针s
参数说明:wu
8、memcpy
函数名:memcpy
函数原型:void *memcpy(void *dest, const void *src, size_t n);
函数功能:复制内存区,函数从src内存区域中拷贝n个字节到内存区域dest
注意内存区域不能重叠,如果要重叠的话使用memmove
所属头文件:
#include <string.h>
返回值:返回一个指向dest内存区域的指针
参数说明:
void *dest:目标内存区
const void *src:源内存区
size_t n:拷贝的字节数
特别说明:memmove的重叠就是说dest可以和src的内存重叠
9、头文件:
#include <fcntl.h>
名称:#include <fcntl.h>
作用:文件控制选项,头文件shall中提供给函数fcntl和open函数使用的请求和参数
10、getopt
函数名:getopt
函数原型:int getopt(int argc,char *const argv, const char *optstring);
函数功能:解析命令行参数(具体的作用??)
函数所属头文件:
#include <unistd.h>
返回值:
成功:即成功找到选项,返回选项的字符
失败:如果所有的命令选项都被解析完毕则返回-1
如果函数碰到一个字符不在optstring中,返回?
如果没有参数,根据参数optstring中的第一个字符确定,如果第一个字符是:,则返回
:,若不是则返回?
参数说明:
注意:int main(int argc, char **argv)
int argc:main函数中的参数个数
char *const argv:main函数的命令
eg:请看man page中的案例
11、setjmp
函数名称:setjmp
函数原型:
int setjmp(jmp_buf env);
函数功能:
为非本地goto保存栈内容(save stack context for non-local goto)
在程序的低级别次惯例中处理错误遇到中断时有用。
将栈内容保存在env中,给后面的longjmp()用
函数所属头文件:
#include <setjmp.h>
返回值:
如果直接返回的时候就返回0(return 0 if returning directly)
参数说明:
- 系统函数学习笔记1
- 菜鸟stm32学习笔记(1)系统时钟初始化函数
- MySQL学习笔记19:系统信息函数
- oracle学习笔记 ---- 常用系统函数
- MySQL学习笔记19:系统信息函数
- Linux系统编程学习笔记-open函数
- PHP学习笔记——系统函数
- 嵌入式系统学习笔记(1)
- NGUI系统学习笔记1
- Linux系统学习笔记(1)
- JavaScript笔记——JavaScript的系统函数学习
- 【SQL Server学习笔记】SQL Server系统函数
- C语言学习笔记(五) -系统函数 System Function
- 构造函数学习笔记(1)
- C++学习笔记 1:函数
- 学习回顾oracle系统函数(1)
- linux 系统函数学习
- linux系统函数学习
- uva 10294 - Arif in Dhaka (First Love Part 2) Polya定理
- java之正则表达式
- 杭电4148-Length of S(n)
- LA 3983 - Robotruck 单调队列优化DP
- Java学习之道:SQL语句执行效率及分析(note)
- 系统函数学习笔记1
- 隐藏Tomcat版本信息
- 最近工作的一点总结
- Java学习之道:Spring学习笔记 -- 资源访问(Resource接口)
- Web Service简介
- 从全局观思考
- SD 分区作为跟文件系统 启动Linux
- IOS之第一个IOS程序
- Java学习之道:[续]Spring学习笔记 -- 资源访问(Resource接口)