<?xml version="1.0" encoding="gbk"?>
<rss version="2.0">
  <channel>
    <title>曲径通幽论坛 - Functions</title>
    <link>http://www.groad.net/bbs/forum.php?mod=forumdisplay&amp;fid=36</link>
    <description>Latest 20 threads of Functions</description>
    <copyright>Copyright(C) 曲径通幽论坛</copyright>
    <generator>Discuz! Board by Comsenz Inc.</generator>
    <lastBuildDate>Sun, 03 May 2026 11:10:07 +0000</lastBuildDate>
    <ttl>60</ttl>
    <image>
      <url>http://www.groad.net/bbs/static/image/common/logo_88_31.gif</url>
      <title>曲径通幽论坛</title>
      <link>http://www.groad.net/bbs/</link>
    </image>
    <item>
      <title>MD5() --- 可用来计算某个文件的 md5 值</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=8899</link>
      <description><![CDATA[MD5() 原型是：



该函数可用来计算某个文件的 md5 值。它有 3 个参数，总的意思是：计算出 d 开始地址处的 n 个字节的 md5 值，并将该值存放在 md 所指向的缓冲区中；一般的，该缓冲区对于 MD5 来说，可用 MD5_DIGEST_LENGTH (16 个字节) 来定义大小。

示例： ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Fri, 17 Apr 2015 15:48:03 +0000</pubDate>
    </item>
    <item>
      <title>readv()/writev() -- 向量I/O读写</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7531</link>
      <description><![CDATA[平时里用的 read()/write() 是线性 I/O 读写函数。所谓线性，就是一段缓冲区可以被连续的读写，而即将介绍的 readv()/writev() 称为向量 I/O 读写函数，也可以叫做 “分散/聚 集\&quot;(Scatter/gather) I/O 函数。这两个函数可以一次性对多个不连续的缓冲区进行读写，支持这 ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Thu, 06 Dec 2012 11:47:19 +0000</pubDate>
    </item>
    <item>
      <title>setbuf()/setbuffer() -- 设置 stdio 库函数所用缓存</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7520</link>
      <description><![CDATA[setbuf() 也能用来设置 stdio 库函数所用的缓存，它相当于 setvbuf() 的一个变形版本，其原型如下：

该函数不会返回一个结果值，它相当于如下调用了 setvbuf() 函数：
[mw_shl_co ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Fri, 23 Nov 2012 13:32:35 +0000</pubDate>
    </item>
    <item>
      <title>setvbuf() -- 设置 stdio 库所用的缓冲</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7515</link>
      <description><![CDATA[setvbuf()　函数可用来控制 stdio 库所用的缓冲，其原型如下：

第 1 个参数 stream 表示对哪个文件流的缓冲修改。在该文件流打开后，setvbuf() 必须在任 ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Thu, 22 Nov 2012 08:03:15 +0000</pubDate>
    </item>
    <item>
      <title>freopen() -- 重定向打开</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7513</link>
      <description><![CDATA[freopen() 可用于流的重定向，函数原型为：


第 1 个参数 path 是一个文件路径。
第 2 个参数 mode 的值和fopen()  一样。
第  3 个参数 stream 是 ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Mon, 19 Nov 2012 02:11:03 +0000</pubDate>
    </item>
    <item>
      <title>readline() -- 读取终端中的一行</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7493</link>
      <description><![CDATA[readline() 函数来自于 GNU READLINE 库，作用是用来读取终端中用户输入的一行内容，其原型如下：

它只有一个参数，用以输出 ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Thu, 01 Nov 2012 05:16:16 +0000</pubDate>
    </item>
    <item>
      <title>SHA1_Init()/SHA1_Update()/SHA1_Final() -- 生成 sha1 散列值函数组合</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7403</link>
      <description><![CDATA[在《sha1 -- 生成 sha1 散列值》中给出了可以生成 SHA1() 函数，它应用很简单。实际上，OpenSSL 还提供了另外一套 API 用以产生 sha1 散列值，该套 API 可以生成更大文件的散列值。比如在 32 位系统下，应用程序不能访问超过 4G (2[sup]32[/sup] )的内存空间，从 SHA1() ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Wed, 26 Sep 2012 01:12:22 +0000</pubDate>
    </item>
    <item>
      <title>sha1 -- 生成 sha1 散列值</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7402</link>
      <description><![CDATA[SHA 是 Secure Hash Algorithm (安全散列算法) 的缩写，它用来产生 20 个字节 (160位) 的散列值，该算法常用于数字签名，以防止数据遭到篡改。

这里介绍 openssl 提供 API 计算数据的 SHA1 值。实际上，该 API 有两套，这里只给出最简单的函数，即  SHA1()，其原型如下 ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Tue, 25 Sep 2012 14:47:14 +0000</pubDate>
    </item>
    <item>
      <title>rewind() -- 将文件流指针调整到开始处</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7346</link>
      <description><![CDATA[rewind() 函数原型如下：

该函数将文件流指针(stream)调整到开始处。

测试代码：
[mw_shl_code=cpp,true]#include 
#include 

int main(void)
{
&#160;&#160;&#160;&#160;&#160;&#160;&amp;#16 ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Tue, 14 Aug 2012 10:50:55 +0000</pubDate>
    </item>
    <item>
      <title>ftell() -- 获得当前文件指针位置</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7344</link>
      <description><![CDATA[ftell() 函数原型如下：

使用该函数可以获得当前操作文件的文件指针位置，其中参数 stream 为打开该文件的文件流指针。

测试代码：
[mw_shl_code=cpp,true]#include 

#define NUM_ALPHA 26
 ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Aug 2012 09:35:15 +0000</pubDate>
    </item>
    <item>
      <title>MD5_Init()/MD5_Update()/MD5_Final() -- md5 加密函数</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7343</link>
      <description><![CDATA[使用 MD5 加密，可用下面几个函数，其原型为：


MD5_Init() 函数 ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Sun, 12 Aug 2012 12:50:40 +0000</pubDate>
    </item>
    <item>
      <title>fdopen() -- 将流挂靠到已有的文件描述符上</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7339</link>
      <description><![CDATA[fdopen() 函数声明如下：

该函数的作用是将一个流挂靠到已有的文件描述符上，这个已建立的文件描述符由 fd 来指定，挂靠的流由函数的返回给出；此外函数的第 2 个参数 mode 和 ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Sat, 11 Aug 2012 05:48:55 +0000</pubDate>
    </item>
    <item>
      <title>sigaltstack() -- 替换信号处理函数栈</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7336</link>
      <description><![CDATA[sigaltstack() 函数原型如下：

该函数设计内存方面的知识，可以参考下图：

一般情况下，信号处理函数被调用时，内核会在进程的栈上为其创建一个栈帧。但是这里就会 ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Wed, 08 Aug 2012 07:02:40 +0000</pubDate>
    </item>
    <item>
      <title>alarm() -- 设置计时器</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7329</link>
      <description><![CDATA[alarm() 函数原型如下：

alarm() 函数用来设置一个定时器，定时时间由参数 seconds 指定，单位为秒；在到达定时时间后，产生 SIGALRM 信号。需要了解的是，信号由内核产生， ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Sat, 04 Aug 2012 17:29:34 +0000</pubDate>
    </item>
    <item>
      <title>pause() -- 挂起进程等待信号</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7328</link>
      <description><![CDATA[pause() 函数原型如下：

调用 pause() 后，进程会被挂起，直到信号处理将其中断(未要求处理信号也能终止该进程)。在信号被处理时，pause() 被中断，并返回 -1 ，且 errno 被设置为 EINTR 。

测试代码 ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Fri, 03 Aug 2012 04:56:46 +0000</pubDate>
    </item>
    <item>
      <title>sigpending() -- 返回未决信号</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7327</link>
      <description><![CDATA[sigpending() 函数原型如下：

当信号被调用进程阻塞而不能递送时，这些信号是未决信号，它们可以通过 sigpending() 函数的参数 set 返回。

测试代码：
[mw_shl_code=cpp,true]#include ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Thu, 02 Aug 2012 04:59:24 +0000</pubDate>
    </item>
    <item>
      <title>sigaddset()/sigdelset() -- 从信号集中添加或删除信号</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7326</link>
      <description><![CDATA[sigaddset() 和 sigdelset() 函数的原型如下：

在初始化一个信号集后(使用 sigemptyset()&#160;&#160;或sigfillset()&#160;&amp;#160 ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Wed, 01 Aug 2012 14:36:54 +0000</pubDate>
    </item>
    <item>
      <title>sigprocmask() -- 设置当前信号屏蔽</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7325</link>
      <description><![CDATA[sigprocmask() 函数原型如下：

该函数用来设置当前信号屏蔽，也就是说，通过该函数可以设置你想要屏蔽的信号，即被屏蔽的信号递送过来，不给予理会。 ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Wed, 01 Aug 2012 11:32:50 +0000</pubDate>
    </item>
    <item>
      <title>sigemptyset()/sigfillset() -- 初始化信号集</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7324</link>
      <description><![CDATA[sigemptyset() 和 sigfillset() 函数原型分别如下：

这两个函数都用来初始化信号集。sigemptyset() 用来清除 set 参数指定信号集中的所有信号；sigfil ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Tue, 31 Jul 2012 16:50:44 +0000</pubDate>
    </item>
    <item>
      <title>sigismember() -- 测试是否为一个信号</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7323</link>
      <description><![CDATA[sigismember() 函数原型如下：

该函数有两个参数，第 1 个参数 set 是个信号集；第 2 个函数指定一个信号码。整个函数的作用就是测试由 signum 给出的新号码是否是现 ...]]></description>
      <category>Functions</category>
      <author>beyes</author>
      <pubDate>Mon, 30 Jul 2012 13:40:49 +0000</pubDate>
    </item>
  </channel>
</rss>