ANSI C中的字符串处理集——string.h

字符串处理集的函数定义在<string.h>头文件中,该头文件定义了size_t类型和空指针NULL宏。该头文件提供了一些分析和操作字符串的函数,其中的一些函数以更通用的方式处理内存。本文一一介绍。1. 函数1.1 memchr &&strchr函数原型:void *memchr(const void *s, int c, size_t n); void *me...

ANSI C中的通用工具集——stdlib.h

ANSI C标准库中包括了各种类型的实用工具函数,它们都在stdlib.h中定义,本文就介绍该头文件。1. 类型stdlib.h中定义了如下一些类型: size_t :sizeof运算符返回的无符号整数类型 wchar_t :用来表示宽字符的整数类型 div_t :div( )函数返回的结构类型,它包含quot和rem两个成员,两个成员都为int类型 ldiv_t :ldiv...

ANSI C中的标准I/O

如果你是在Linux环境下使用标准C的I/O,并且想了解一下标准I/O背后的细节,可以先看一下我的另外一篇文章《Linux文件I/O》。1. 类型ANSI C标准库包括了一些与流相关的标准I/O函数,这些函数都定义在<stdio.h>头文件中,同时,也定义了一些流相关的类型。本文一一介绍。1.1 FILE文件类型FILE是stdio.h中定义的一种派生类型,这个类型会记录一些打开...

select(pselect)函数

select函数允许进程指示内核等待多个事件中的任何一个发生,并仅在一个或多个事件发生或者经历一段指定的事件后唤醒它。而内核是根据描述字的状态来判断事件的发生的,也就是说,我们调用select告知内核对那些描述字(就读、写或异常条件)感兴趣以及等待多长时间。一般select函数多用于网络编程中,但其实我们感兴趣的套接字不局限于套接字描述字;任何描述字都可以使用select来测试。1. 函数介...

关于socket的返回值

我们都知道socket函数执行成功时,返回一个可用的套接字描述符(套接字描述符实质上是一个无符号整数)。但每个进程维护一套套接字描述符还是每个线程维护一套呢?看下面的程序。1. 不同进程同时使用socket下面的代码socket_rst.c循环执行socket函数,申请套接字描述符。#include <stdio.h> #include <stdlib.h> #i...

变长结构体

首先说明一下,C/C++中不存在真正意义上的变长结构体。因为结构体在编译期就已经决定了其长度。如果需要实现变长,只能通过运行期分配内存来实现。1,使用指针实现变长结构体类似下面的代码应该非常常见:typedef struct st_type4 { int cnt; char *data; } type_d;我们在结构体中定义了一个data字段,且该字段是一个char型的指针。因...

可变参数的函数

1 自定义可变参数的函数C语言中的<stdarg.h>中提供了可变参数的函数。使用步骤如下: 在函数原型中使用省略号,且省略号必须是最后一个参数 在函数定义中创建一个va_list类型的变量 用宏va_start将该变量初始化为一个参数列表 用宏va_arg访问参数列表 用宏va_end完成清理工作 下面进行详细说明。1 函数原型需要注意的是函数原型必须具有...

setjmp和longjmp

1,函数介绍在C中,我们知道可以使用goto实现程序的跳转。但是,goto语句是不能跨越函数的。如果想要跨函数跳转,那么我们就要使用setjmp和longjmp函数了。这两个函数对于处理发生在深层嵌套函数调用中的出错情况非常有用。这两个函数的函数原型如下:#include <setjmp.h> int setjmp(jmp_buf env); void longjmp(jmp...
最近评论
bekey是我看花眼了吗,@timestamp始终没见转换为实际业务时间啊
luke但这样不是会造成数据倾斜,导致负载不均衡吗
小程Markdown写数学公式其实蛮坑的,不支持实时显示。当然也可能是我用的MarkdownPad...
小程倪师哥你好,我也是西电的,我最近也在弄个人主页,请问这个网站您自己发博客的时候是直接写html...
yy你后面一次明显心率高很多,特别是耐力部分,大概要150以上。感觉这个跟高心率的持续时间相关性特别大。
lilimon楼主用的是什么版本?github issue url在哪里?新版本会出现这样的问题吗?很多人应...
jie作者大大,您好。看了文章,我有一个问题。就是文中您说:“当然,很多时候自定义路由是为了减少查询...
徐小鹏其实对于TOB领域,一般Routing会用于一个租户(即公司ID)的概念,用了Routing起...
tina第二个代码块的第6行,引用是low-level的
白色风车beforeMethod的断点没有拦截住,但是UI的trace界面能看到请求了,应该启动成功了...