博客首页
注册
建议与交流
排行榜
加入友情链接
推荐
投诉
搜索:
帮助
好记性不如烂笔头
As busy as a bee!
kiky.cublog.cn
管理博客
发表文章
留言
收藏夹
· BlOG
· Linux
}
· 交叉编译工具链下载地址
· 工具网站
博客圈
音乐
相册
导入文章
文章
· Linux
首页
关于作者
姓名:kiky 职业:coding
||
<<
>>
||
我的分类
文章列表 - Linux
基于ARMlinux的嵌入式远程测控系统设计
<DIV> <TABLE cellSpacing=0 cellPadding=0 width=572 align=center border=0> <TBODY> <TR> <TD align=middle> <TABLE cellSpacing=1 cellPadding=4 width="99%" bgColor=#cccccc border=0> <TBODY> <TR> <TD class=z1 align=left bgColor=#f8f8f8><FONT color=#666666></FONT><FONT color=#005199>介绍了一种基于ARMLinux的嵌入式远程测控系统的新设计方案,对硬件和软件两个系统的设计技术原理进行了论述;测试结果表明,方案可满足当前工业控制和家用电器远程测控的要求。</FONT></TD></TR></TBODY></TABLE></TD></TR> <TR> <TD height=10></TD></TR> <TR> <TD align=left><SPAN class=z1> <SCRIPT language=javascript>document.write(mypuiblicgg());</SCRIPT> <P> <STRONG>前言</STRONG></P> <P> 目前,大多数远程测控系统中,系统的硬件采用8/16位的单片机,软件多采用汇编语言编程,该编程仅包含一个简单的循环处理的控制流程;单片机与单片机(或上位机)之间的通信通过RS232、RS485或CAN总线来组成局域网,再用Pc机作为Web服务器,与Internet进行通讯。这样的远程测控设备成本高、体积大、速度慢、功耗大。现……
查看全文
发表于:2007-10-12 ┆
阅读(295)
┆
评论(0)
Linux 系统下实现多线程客户/服务器
<DIV> 在传统的Unix模型中,当一个进程需要由另一个实体执行某件事时,该进程派生(fork)一个子进程,让子进程去进行处理。Unix下的大多数网络服务器程序都是这么编写的,即父进程接受连接,派生子进程,子进程处理与客户的交互。<BR><BR> 虽然这种模型很多年来使用得很好,但是fork时有一些问题:<BR><BR> 1. fork是昂贵的。内存映像要从父进程拷贝到子进程,所有描述字要在子进程中复制等等。目前有的Unix实现使用一种叫做写时拷贝(copy-on-write)的技术,可避免父进程数据空间向子进程的拷贝。尽管有这种优化技术,fork仍然是昂贵的。<BR><BR> 2. fork子进程后,需要用进程间通信(IPC)在父子进程之间传递信息。Fork之前的信息容易传递,因为子进程从一开始就有父进程数据空间及所有描述字的拷贝。但是从子进程返回信息给父进程需要做更多的工作。<BR><BR> 线程有助于解决这两个问题。线程有时被称为轻权进程(lightweight process),因为线程比进程“轻权”,一般来说,创建一个线程要比创建一个进程快10~100倍。<BR><BR> &n……
查看全文
发表于:2007-08-22 ┆
阅读(415)
┆
评论(2)
Linux常用C函数-字符测试篇
<DIV> <TABLE width="100%"> <TBODY> <TR> <TD vAlign=top> <P><FONT face=宋体 size=2> <TABLE cellSpacing=0 cellPadding=0 width="95%" align=center border=0> <TBODY> <TR> <TD> <DIV align=left><FONT face="Times New Roman, Times, serif"><FONT size=2>字符测试篇</FONT><BR>isalnum<BR>isalpha<BR>isascii<BR>iscntrl<BR>isdigit<BR>isgraphis<BR>islower<BR>isprint<BR>isspace<BR>ispunct<BR>isupper<BR>isxdigit<BR></FONT></DIV></TD></TR></TBODY></TABLE></FONT></P> <P><FONT face=宋体 size=2>isalnum(测试字符是否为英文或数字) </FONT></P></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>isalpha,isdigit,islower,isupper<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<ctype.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int isalnum (int c)<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>检查参数c是否为英文字母或阿拉伯数字,在标准c中相当于使用“isalpha(c) || isdigit(c)”做测试。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>若参数c为字母或数字,则返回TRUE,否则返回NULL(0)。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>此为宏定义,非真正函数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/* 找出str 字符串中为英文字母或数字的字符*/<BR>#include < ctype.h><BR>main()<BR>{<BR>char str[]=”123c@#FDsP[e?”;<BR>int i;<BR>for (i=0;str[i]!=0;i++ )<BR>if ( isalnum(str[i])) printf(“%c is an alphanumeric character\n”,str[i]);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>1 is an apphabetic character<BR>2 is an apphabetic character<BR>3 is an apphabetic character<BR>c is an apphabetic character<BR>F is an apphabetic character<BR>D is an apphabetic character<BR>s is an apphabetic character<BR>P is an apphabetic character<BR>e is an apphabetic character<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc2></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>isalpha (测试字符是否为英文字母) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>isalnum,islower,isupper<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<ctype.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int isalpha (int c)<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>检查参数c是否为英文字母,在标准c中相当于使用“isupper(c)||islower(c)”做测试。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>若参数c为英文字母,则返回TRUE,否则返回NULL(0)。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>此为宏定义,非真正函数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/* 找出str 字符串中为英文字母的字符*/<BR>#include <ctype.h><BR>main()<BR>{<BR>char str[]=”123c@#FDsP[e?”;<BR>int i;<BR>for (i=0;str[i]!=0;i++)<BR>if(isalpha(str[i])) printf(“%c is an alphanumeric character\n”,str[i]);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>c is an apphabetic character<BR>F is an apphabetic character<BR>D is an apphabetic character<BR>s is an apphabetic character<BR>P is an apphabetic character<BR>e is an apphabetic character<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc3></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>isascii(测试字符是否为ASCII 码字符) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>iscntrl<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include <ctype.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int isascii(int c);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>检查参数c是否为ASCII码字符,也就是判断c的范围是否在0到127之间。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>若参数c为ASCII码字符,则返回TRUE,否则返回NULL(0)。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>此为宏定义,非真正函数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/* 判断int i是否具有对映的ASCII码字符*/<BR>#include<ctype.h><BR>main()<BR>{<BR>int i;<BR>for(i=125;i<130;i++)<BR>if(isascii(i))<BR>printf("%d is an ascii character:%c\n",i,i);<BR>else<BR>printf("%d is not an ascii character\n",i);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>125 is an ascii character:}<BR>126 is an ascii character:~<BR>127 is an ascii character:<BR>128 is not an ascii character<BR>129 is not an ascii character<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc4></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>iscntrl(测试字符是否为ASCII 码的控制字符) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>isascii<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include <ctype.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int iscntrl(int c);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>检查参数c是否为ASCII控制码,也就是判断c的范围是否在0到30之间。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>若参数c为ASCII控制码,则返回TRUE,否则返回NULL(0)。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>此为宏定义,非真正函数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc5></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>isdigit(测试字符是否为阿拉伯数字) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>isxdigit<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<ctype.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int isdigit(int c)<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>检查参数c是否为阿拉伯数字0到9。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>若参数c为阿拉伯数字,则返回TRUE,否则返回NULL(0)。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>此为宏定义,非真正函数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/* 找出str字符串中为阿拉伯数字的字符*/<BR>#include<ctype.h><BR>main()<BR>{<BR>char str[]="123@#FDsP[e?";<BR>int i;<BR>for(i=0;str[i]!=0;i++)<BR>if(isdigit(str[i])) printf("%c is an digit character\n",str[i]);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>1 is an digit character<BR>2 is an digit character<BR>3 is an digit character<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc6></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>isgraphis(测试字符是否为可打印字符) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>isprint<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include <ctype.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int isgraph (int c)<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>检查参数c是否为可打印字符,若c所对映的ASCII码可打印,且非空格字符则返回TRUE。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>若参数c为可打印字符,则返回TRUE,否则返回NULL(0)。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>此为宏定义,非真正函数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/* 判断str字符串中哪些为可打印字符*/<BR>#include<ctype.h><BR>main()<BR>{<BR>char str[]="a5 @;";<BR>int i;<BR>for(i=0;str[i]!=0;i++)<BR>if(isgraph(str[i])) printf("str[%d] is printable character:%d\n",i,str[i]);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>str[0] is printable character:a<BR>str[1] is printable character:5<BR>str[3] is printable character:@<BR>str[4] is printable character:;<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc7></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>islower(测试字符是否为小写字母) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>isalpha,isupper<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<ctype.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int islower(int c)<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>检查参数c是否为小写英文字母。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>若参数c为小写英文字母,则返回TRUE,否则返回NULL(0)。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>此为宏定义,非真正函数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<ctype.h><BR>main()<BR>{<BR>char str[]="123@#FDsP[e?";<BR>int i;<BR>for(i=0;str[i]!=0;i++)<BR>if(islower(str[i])) printf("%c is a lower-case character\n",str[i]);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>c is a lower-case character<BR>s is a lower-case character<BR>e is a lower-case character<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc8></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>isprint(测试字符是(否为可打印字符) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>isgraph<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<ctype.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int isprint(int c);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>检查参数c是否为可打印字符,若c所对映的ASCII码可打印,其中包含空格字符,则返回TRUE。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>若参数c为可打印字符,则返回TRUE,否则返回NULL(0)。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>此为宏定义,非真正函数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/* 判断str字符串中哪些为可打印字符包含空格字符*/<BR>#include<ctype.h><BR>main()<BR>{<BR>char str[]="a5 @;";<BR>int i;<BR>for(i=0;str[i]!=0;i++)<BR>if(isprint(str[i])) printf("str[%d] is printable character:%d\n",i,str[i]);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>str[0] is printable character:a<BR>str[1] is printable character:5<BR>str[2] is printable character:<BR>str[3] is printable character:@<BR>str[4] is printable character:;<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc9></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>isspace(测试字符是否为空格字符) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>isgraph<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<ctype.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int isspace(int c)<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>检查参数c是否为空格字符,也就是判断是否为空格('')、定位字符('\t')、CR('\r')、换行('\n')、垂直定位字符('\v')或翻页('\f')的情况。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>若参数c为空格字符,则返回TRUE,否则返回NULL(0)。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>此为宏定义,非真正函数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/*将字符串str[]中内含的空格字符找出,并显示空格字符的ASCII码*/<BR>#include <ctype.h><BR>main()<BR>{<BR>char str="123c @# FD\tsP[e?\n";<BR>int i;<BR>for(i=0;str[i]!=0;i++)<BR>if(isspace(str[i]))<BR>printf("str[%d] is a white-space character:%d\n",i,str[i]);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>str[4] is a white-space character:32<BR>str[7] is a white-space character:32<BR>str[10] is a white-space character:9 /* \t */<BR>str[16] is a white-space character:10 /* \t */<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc10></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>ispunct(测试字符是否为标点符号或特殊符号) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>isspace,isdigit,isalpha<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#inlude<ctype.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int ispunct(int c)<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>检查参数c是否为标点符号或特殊符号。返回TRUE也就是代表参数c为非空格、非数字和非英文字母。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>v若参数c为标点符号或特殊符号,则返回TRUE,否则返回NULL(0)。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>此为宏定义,非真正函数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/*列出字符串str中的标点符号或特殊符号*/<BR>#include <ctype.h><BR>main()<BR>{<BR>char str[]="123c@ #FDsP[e?";<BR>int i;<BR>for(i=0;str[i]!=0;i++)<BR>if(ispunct(str[i])) printf("%c\n",str[i]);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>v<BR>@#[?<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc11></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>isupper(测试字符是否为大写英文字母) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>isalpha,islower<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<ctype.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int isupper(int c)<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>检查参数c是否为大写英文字母。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>若参数c为大写英文字母,则返回TRUE,否则返回NULL(0)。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>此为宏定义,非真正函数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/*找出字符串str中为大写英文字母的字符*/<BR>#include <ctype.h><BR>main()<BR>{<BR>char str[]="123c@#FDsP[e?";<BR>int i;<BR>for(i=0;str[i]!=0;i++)<BR>if(isupper(str[i])) printf("%c is an uppercase character\n",str[i]);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>F is an uppercase character<BR>D is an uppercase character<BR>P is an uppercase character<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc12></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>isxdigit(测试字符是否为16进制数字) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>isalnum,isdigit<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<ctype.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int isxdigit (int c)<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>检查参数c是否为16进制数字,只要c为下列其中一个情况则返回TRUE。16进制数字:0123456789ABCDEF。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>若参数c为16进制数字,则返回TRUE,否则返回NULL(0)。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>此为宏定义,非真正函数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/*找出字符串str中为十六进制数字的字符*/<BR>#include <ctype.h><BR>main()<BR>{<BR>char str[]="123c@#FDsP[e?";<BR>int i;<BR>for(i=0;str[i]!=0;i++)<BR>if(isxdigit(str[i])) printf("%c is a hexadecimal digits\n",str[i]);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>1 is a hexadecimal digits<BR>2 is a hexadecimal digits<BR>3 is a hexadecimal digits<BR>c is a hexadecimal digits<BR>F is a hexadecimal digits<BR>D is a hexadecimal digits<BR>e is a hexadecimal digits<BR></FONT></TD></TR></TBODY></TABLE></DIV>
查看全文
发表于:2007-07-22 ┆
阅读(427)
┆
评论(1)
Linux常用C函数-字符串转换篇
<DIV> <TABLE cellSpacing=0 cellPadding=0 width=548 border=0> <TBODY> <TR> <TD width=8></TD> <TD><FONT class=f14 id=zoom><FONT color=#000000><FONT size=2>字符串转换篇</FONT><BR>atof<BR>atoi<BR>atol<BR>gcvt<BR>strtod<BR>strtol<BR>strtoul<BR>toascii<BR>tolower<BR>toupper<BR> <TABLE width="100%"> <TBODY> <TR> <TD vAlign=top><FONT face=宋体 size=2>atof(将字符串转换成浮点型数) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>atoi,atol,strtod,strtol,strtoul<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include <stdlib.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>double atof(const char *nptr);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>返回转换后的浮点型数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>atof()与使用strtod(nptr,(char**)NULL)结果相同。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/* 将字符串a 与字符串b转换成数字后相加*/<BR>#include<stdlib.h><BR>main()<BR>{<BR>char *a=”-100.23”;<BR>char *b=”200e-2”;<BR>float c;<BR>c=atof(a)+atof(b);<BR>printf(“c=%.2f\n”,c);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>c=-98.23<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc15></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>atoi(将字符串转换成整型数) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>atof,atol,atrtod,strtol,strtoul<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<stdlib.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int atoi(const char *nptr);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>返回转换后的整型数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/* 将字符串a 与字符串b转换成数字后相加*/<BR>#include<stdlib.h><BR>mian()<BR>{<BR>char a[]=”-100”;<BR>char b[]=”456”;<BR>int c;<BR>c=atoi(a)+atoi(b);<BR>printf(c=%d\n”,c);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>c=356<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc16></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>atol(将字符串转换成长整型数) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>atof,atoi,strtod,strtol,strtoul<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<stdlib.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>long atol(const char *nptr);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>返回转换后的长整型数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>atol()与使用strtol(nptr,(char**)NULL,10);结果相同。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/*将字符串a与字符串b转换成数字后相加*/<BR>#include<stdlib.h><BR>main()<BR>{<BR>char a[]=”1000000000”;<BR>char b[]=” 234567890”;<BR>long c;<BR>c=atol(a)+atol(b);<BR>printf(“c=%d\n”,c);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>c=1234567890<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc17></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>gcvt(将浮点型数转换为字符串,取四舍五入) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>ecvt,fcvt,sprintf<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<stdlib.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>char *gcvt(double number,size_t ndigits,char *buf);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>返回一字符串指针,此地址即为buf指针。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<stdlib.h><BR>main()<BR>{<BR>double a=123.45;<BR>double b=-1234.56;<BR>char *ptr;<BR>int decpt,sign;<BR>gcvt(a,5,ptr);<BR>printf(“a value=%s\n”,ptr);<BR>ptr=gcvt(b,6,ptr);<BR>printf(“b value=%s\n”,ptr);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>a value=123.45<BR>b value=-1234.56<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc18></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>strtod(将字符串转换成浮点数) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>atoi,atol,strtod,strtol,strtoul<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<stdlib.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>double strtod(const char *nptr,char **endptr);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>返回转换后的浮点型数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>参考atof()。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/*将字符串a,b,c 分别采用10,2,16 进制转换成数字*/<BR>#include<stdlib.h><BR>mian()<BR>{<BR>char a[]=”1000000000”;<BR>char b[]=”1000000000”;<BR>char c[]=”ffff”;<BR>printf(“a=%d\n”,strtod(a,NULL,10));<BR>printf(“b=%d\n”,strtod(b,NULL,2));<BR>printf(“c=%d\n”,strtod(c,NULL,16));<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>a=1000000000<BR>b=512<BR>c=65535<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc19></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>strtol(将字符串转换成长整型数) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>atof,atoi,atol,strtod,strtoul<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<stdlib.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>long int strtol(const char *nptr,char **endptr,int base);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>ERANGE指定的转换字符串超出合法范围。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/* 将字符串a,b,c 分别采用10,2,16进制转换成数字*/<BR>#include<stdlib.h><BR>main()<BR>{<BR>char a[]=”1000000000”;<BR>char b[]=”1000000000”;<BR>char c[]=”ffff”;<BR>printf(“a=%d\n”,strtol(a,NULL,10));<BR>printf(“b=%d\n”,strtol(b,NULL,2));<BR>printf(“c=%d\n”,strtol(c,NULL,16));<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>a=1000000000<BR>b=512<BR>c=65535<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc20></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>strtoul(将字符串转换成无符号长整型数) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>atof,atoi,atol,strtod,strtol<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<stdlib.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>unsigned long int strtoul(const char *nptr,char **endptr,int base);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>ERANGE指定的转换字符串超出合法范围。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>参考strtol()<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc21></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>toascii(将整型数转换成合法的ASCII 码字符) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>isascii,toupper,tolower<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<ctype.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int toascii(int c)<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>toascii()会将参数c转换成7位的unsigned char值,第八位则会被清除,此字符即会被转成ASCII码字符。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>将转换成功的ASCII码字符值返回。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<stdlib.h><BR>main()<BR>{<BR>int a=217;<BR>char b;<BR>printf(“before toascii () : a value =%d(%c)\n”,a,a);<BR>b=toascii(a);<BR>printf(“after toascii() : a value =%d(%c)\n”,b,b);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>before toascii() : a value =217()<BR>after toascii() : a value =89(Y)<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc22></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>tolower(将大写字母转换成小写字母) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>isalpha,toupper<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<stdlib.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int tolower(int c);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>若参数c为大写字母则将该对应的小写字母返回。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>返回转换后的小写字母,若不须转换则将参数c值返回。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/* 将s字符串内的大写字母转换成小写字母*/<BR>#include<ctype.h><BR>main()<BR>{<BR>char s[]=”aBcDeFgH12345;!#$”;<BR>int i;<BR>printf(“before tolower() : %s\n”,s);<BR>for(i=0;I<sizeof(s);i++)<BR>s[i]=tolower(s[i]);<BR>printf(“after tolower() : %s\n”,s);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>before tolower() : aBcDeFgH12345;!#$<BR>after tolower() : abcdefgh12345;!#$<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc23></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>toupper(将小写字母转换成大写字母) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>isalpha,tolower<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<ctype.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int toupper(int c);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>若参数c为小写字母则将该对映的大写字母返回。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>返回转换后的大写字母,若不须转换则将参数c值返回。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/* 将s字符串内的小写字母转换成大写字母*/<BR>#include<ctype.h><BR>main()<BR>{<BR>char s[]=”aBcDeFgH12345;!#$”;<BR>int i;<BR>printf(“before toupper() : %s\n”,s);<BR>for(i=0;I<sizeof(s);i++)<BR>s[i]=toupper(s[i]);<BR>printf(“after toupper() : %s\n”,s);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>before toupper() : aBcDeFgH12345;!#$<BR>after toupper() : ABCDEFGH12345;!#$<BR></FONT></TD></TR></TBODY></TABLE></FONT></FONT></TD></TR></TBODY></TABLE></DIV>
查看全文
发表于:2007-07-22 ┆
阅读(670)
┆
评论(0)
Linux常用C函数-内存控制篇
<DIV><FONT size=2>内存控制篇<BR></FONT>calloc<BR>free<BR>getpagesize<BR>malloc<BR>mmap<BR>munmap<BR> <TABLE width="100%"> <TBODY> <TR> <TD vAlign=top><FONT face=宋体 size=2>calloc(配置内存空间) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>malloc,free,realloc,brk<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include <stdlib.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>void *calloc(size_t nmemb,size_t size);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>calloc()用来配置nmemb个相邻的内存单位,每一单位的大小为size,并返……
查看全文
发表于:2007-07-22 ┆
阅读(470)
┆
评论(0)
Linux常用C函数-日期时间篇
<DIV><FONT size=2>日期时间篇<BR></FONT>asctime<BR>ctime<BR>gettimeofday<BR>gmtime<BR>localtime<BR>mktime<BR>settimeofday<BR>time<BR> <TABLE> <TBODY> <TR> <TD vAlign=top><FONT face=宋体 size=2>asctime(将时间和日期以字符串格式表示) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>time,ctime,gmtime,localtime<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<time.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>char * asctime(const struct tm * timeptr);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>asctime()将参数timeptr所指的tm结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。此函数已经由时区转换成当地时间,字符串格式为:“Wed Jun 30 21:49:08 1993\n”<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>若再调用相关的时间日期函数,此字符串可能会被破坏。此函数与ctime不同处在于传入的参数是不同的结构。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>返回一字符串表示目前当地的时间日期。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include <time.h><BR>main()<BR>{<BR>time_t timep;<BR>time (&timep);<BR>printf(“%s”,asctime(gmtime(&timep)));<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>Sat Oct 28 02:10:06 2000<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc33></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>ctime(将时间和日期以字符串格式表示) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>time,asctime,gmtime,localtime<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<time.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>char *ctime(const time_t *timep);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>ctime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。此函数已经由时区转换成当地时间,字符串格式为“Wed Jun 30 21 :49 :08 1993\n”。若再调用相关的时间日期函数,此字符串可能会被破坏。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>返回一字符串表示目前当地的时间日期。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<time.h><BR>main()<BR>{<BR>time_t timep;<BR>time (&timep);<BR>printf(“%s”,ctime(&timep));<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>Sat Oct 28 10 : 12 : 05 2000<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc34></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>gettimeofday(取得目前的时间) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>time,ctime,ftime,settimeofday<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include <sys/time.h><BR>#include <unistd.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int gettimeofday ( struct timeval * tv , struct timezone * tz )<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>gettimeofday()会把目前的时间有tv所指的结构返回,当地时区的信息则放到tz所指的结构中。<BR>timeval结构定义为:<BR>struct timeval{<BR>long tv_sec; /*秒*/<BR>long tv_usec; /*微秒*/<BR>};<BR>timezone 结构定义为:<BR>struct timezone{<BR>int tz_minuteswest; /*和Greenwich 时间差了多少分钟*/<BR>int tz_dsttime; /*日光节约时间的状态*/<BR>};<BR>上述两个结构都定义在/usr/include/sys/time.h。tz_dsttime 所代表的状态如下<BR>DST_NONE /*不使用*/<BR>DST_USA /*美国*/<BR>DST_AUST /*澳洲*/<BR>DST_WET /*西欧*/<BR>DST_MET /*中欧*/<BR>DST_EET /*东欧*/<BR>DST_CAN /*加拿大*/<BR>DST_GB /*大不列颠*/<BR>DST_RUM /*罗马尼亚*/<BR>DST_TUR /*土耳其*/<BR>DST_AUSTALT /*澳洲(1986年以后)*/<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>成功则返回0,失败返回-1,错误代码存于errno。附加说明EFAULT指针tv和tz所指的内存空间超出存取权限。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<sys/time.h><BR>#include<unistd.h><BR>main(){<BR>struct timeval tv;<BR>struct timezone tz;<BR>gettimeofday (&tv , &tz);<BR>printf(“tv_sec; %d\n”, tv,.tv_sec) ;<BR>printf(“tv_usec; %d\n”,tv.tv_usec);<BR>printf(“tz_minuteswest; %d\n”, tz.tz_minuteswest);<BR>printf(“tz_dsttime, %d\n”,tz.tz_dsttime);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>tv_sec: 974857339<BR>tv_usec:136996<BR>tz_minuteswest:-540<BR>tz_dsttime:0<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc35></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>gmtime(取得目前时间和日期) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>time,asctime,ctime,localtime<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<time.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>struct tm*gmtime(const time_t*timep);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>gmtime()将参数timep 所指的time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。<BR>结构tm的定义为<BR>struct tm<BR>{<BR>int tm_sec;<BR>int tm_min;<BR>int tm_hour;<BR>int tm_mday;<BR>int tm_mon;<BR>int tm_year;<BR>int tm_wday;<BR>int tm_yday;<BR>int tm_isdst;<BR>};<BR>int tm_sec 代表目前秒数,正常范围为0-59,但允许至61秒<BR>int tm_min 代表目前分数,范围0-59<BR>int tm_hour 从午夜算起的时数,范围为0-23<BR>int tm_mday 目前月份的日数,范围01-31<BR>int tm_mon 代表目前月份,从一月算起,范围从0-11<BR>int tm_year 从1900 年算起至今的年数<BR>int tm_wday 一星期的日数,从星期一算起,范围为0-6<BR>int tm_yday 从今年1月1日算起至今的天数,范围为0-365<BR>int tm_isdst 日光节约时间的旗标<BR>此函数返回的时间日期未经时区转换,而是UTC时间。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>返回结构tm代表目前UTC 时间<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include <time.h><BR>main(){<BR>char *wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};<BR>time_t timep;<BR>struct tm *p;<BR>time(&timep);<BR>p=gmtime(&timep);<BR>printf(“%d%d%d”,(1900+p->tm_year), (1+p->tm_mon),p->tm_mday);<BR>printf(“%s%d;%d;%d\n”, wday[p->tm_wday], p->tm_hour, p->tm_min, p->tm_sec);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>2000/10/28 Sat 8:15:38<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc36></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>localtime(取得当地目前时间和日期) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>time, asctime, ctime, gmtime<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<time.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>struct tm *localtime(const time_t * timep);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>localtime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。结构tm的定义请参考gmtime()。此函数返回的时间日期已经转换成当地时区。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>返回结构tm代表目前的当地时间。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<time.h><BR>main(){<BR>char *wday[]={“Sun”,”Mon”,”Tue”,”Wed”,”Thu”,”Fri”,”Sat”};<BR>time_t timep;<BR>struct tm *p;<BR>time(&timep);<BR>p=localtime(&timep); /*取得当地时间*/<BR>printf (“%d%d%d ”, (1900+p->tm_year),( l+p->tm_mon), p->tm_mday);<BR>printf(“%s%d:%d:%d\n”, wday[p->tm_wday],p->tm_hour, p->tm_min, p->tm_sec);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>2000/10/28 Sat 11:12:22<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc37></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>mktime(将时间结构数据转换成经过的秒数) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>time,asctime,gmtime,localtime<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<time.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>time_t mktime(strcut tm * timeptr);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>mktime()用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0 秒算起至今的UTC时间所经过的秒数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>返回经过的秒数。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>/* 用time()取得时间(秒数),利用localtime()<BR>转换成struct tm 再利用mktine()将struct tm转换成原来的秒数*/<BR>#include<time.h><BR>main()<BR>{<BR>time_t timep;<BR>strcut tm *p;<BR>time(&timep);<BR>printf(“time() : %d \n”,timep);<BR>p=localtime(&timep);<BR>timep = mktime(p);<BR>printf(“time()->localtime()->mktime():%d\n”,timep);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>time():974943297<BR>time()->localtime()->mktime():974943297<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc38></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>settimeofday(设置目前时间) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>time,ctime,ftime,gettimeofday<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<sys/time.h><BR>#include<unistd.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>int settimeofday ( const struct timeval *tv,const struct timezone *tz);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>settimeofday()会把目前时间设成由tv所指的结构信息,当地时区信息则设成tz所指的结构。详细的说明请参考gettimeofday()。注意,只有root权限才能使用此函数修改时间。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>成功则返回0,失败返回-1,错误代码存于errno。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>错误代码 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>EPERM 并非由root权限调用settimeofday(),权限不够。<BR>EINVAL 时区或某个数据是不正确的,无法正确设置时间。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><BR><FONT face=宋体 size=2><A name=linuxc39></A></FONT></DIV></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2><BR>time(取得目前的时间) </FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>ctime,ftime,gettimeofday<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<time.h><BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>time_t time(time_t *t);<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒算起到现在所经过的秒数。如果t 并非空指针的话,此函数也会将返回值存到t指针所指的内存。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>成功则返回秒数,失败则返回((time_t)-1)值,错误原因存于errno中。<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>#include<time.h><BR>mian()<BR>{<BR>int seconds= time((time_t*)NULL);<BR>printf(“%d\n”,seconds);<BR>}<BR></FONT></TD></TR> <TR> <TD vAlign=top width=80> <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD> <TD vAlign=top><FONT face=宋体 size=2>9.73E+08<BR></FONT></TD></TR></TBODY></TABLE></DIV>
查看全文
发表于:2007-07-22 ┆
阅读(679)
┆
评论(0)
Vi指令大全
<H2>进入vi的命令</H2> <P>vi filename: 打开或新建文件,并将光标置于第一行首 </P> <P>vi +n filename: 打开文件,并将光标置于第n行首 </P> <P>vi + filename: 打开文件,并将光标置于最后一行首 </P> <P>vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的串处 </P> <P>vi -r filename: 在上次正用vi编辑时发生系统崩溃,恢复filename </P> <P>vi filename....filename: 打开多个文件,依次进行编辑 </P><A name=.E7.A7.BB.E5.8A.A8.E5.85.89.E6.A0.87.E7.B1.BB.E5.91.BD.E4.BB.A4></A> <H2>移动光标类命令</H2> <P>h: 光标左移一个字符 </P> <P>l: 光标右移一个字符 </P> <P>space: 光标右移一个字符 </P> <P>Backspace: 光标左移一个字符 </P> <P>k或Ctrl+p: 光标上移一行 </P> <P>j或Ctrl+n: 光标下移一行 </P> <P>Enter: 光标下移一行 </P> <P>w或W : 光标右移一个字至字首 </P> <P>b或B : 光标左移一个字至字首 </P> <P>e或E : 光标右移一个字至字尾 </P> <P>): 光标移至句尾 </P> <P>(: 光标移至句首 </P> <P>}: 光标移至段落开头 </P> <P>{: 光标移至段落结尾 </P> <P>nG: 光标移至第n行首 </P> <P>n+: 光标下移n行 </P> <P>n-: 光标上移n行 </P> <P>n$: 光标移至第n行尾 </P> <P>H: 光标移至屏幕顶行 </P> <P>M: 光标移至屏幕中间行 </P> <P>L: 光标移至屏幕最后行 </P> <P>0: 光标移至当前行首 </P> <P>$: 光标移至当前行尾 </P><A name=.E5.B1.8F.E5.B9.95.E7.BF.BB.E6.BB.9A.E7.B1.BB.E5.91.BD.E4.BB.A4></A> <H2>屏幕翻滚类命令</H2> <P>Ctrl+u: 向文件首翻半屏 </P> <P>Ctrl+d: 向文件尾翻半屏 </P> <P>Ctrl+f: 向文件尾翻一屏 </P> <P>Ctrl+b: 向文件首翻一屏 </P> <P>nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。 </P><A name=.E6.8F.92.E5.85.A5.E6.96.87.E6.9C.AC.E7.B1.BB.E5.91.BD.E4.BB.A4></A> <H2>插入文本类命令</H2> <P>i: 在光标前 </P> <P>I: 在当前行首 </P> <P>a: 光标后 </P> <P>A: 在当前行尾 </P> <P>o: 在当前行之下新开一行 </P> <P>O: 在当前行之上新开一行 </P> <P>r: 替换当前字符 </P> <P>R: 替换当前字符及其后的字符,直至按ESC键 </P> <P>s: 从当前光标位置处开始,以输入的文本替代指定数目的字符 </P> <P>S: 删除指定数目的行,并以所输入文本代替之 </P> <P>ncw或nCW: 修改指定数目的字 </P> <P>nCC: 修改指定数目的行 </P><A name=.E5.88.A0.E9.99.A4.E5.91.BD.E4.BB.A4></A> <H2>删除命令</H2> <P>ndw或ndW: 删除光标处开始及其后的n-1个字 </P> <P>do: 删至行首 </P> <P>d$: 删至行尾 </P> <P>ndd: 删除当前行及其后n-1行 </P> <P>x或X: 删除一个字符,x删除光标后的,而X删除光标前的 </P> <P>Ctrl+u: 删除输入方式下所输入的文本 </P><A name=.E6.90.9C.E7.B4.A2.E5.8F.8A.E6.9B.BF.E6.8D.A2.E5.91.BD.E4.BB.A4></A> <H2>搜索及替换命令</H2><PRE>/pattern: 从光标开始处向文件尾搜索pattern ?pattern: 从光标开始处向文件首搜索pattern n: 在同一方向重复上一次搜索命令 N: 在反方向上重复上一次搜索命令 :s/p1/p2/g: 将当前行中所有p1均用p2替代 :n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代 :g/p1/s//p2/g: 将文件中所有p1均用p2替换 </PRE><A name=.E9.80.89.E9.A1.B9.E8.AE.BE.E7.BD.AE></A> <H2>选项设置</H2> <P>all: 列出所有选项设置情况 </P> <P>term: 设置终端类型 </P> <P>ignorance: 在搜索中忽略大小写 </P> <P>list: 显示制表位(Ctrl+I)和行尾标志($) </P> <P>number: 显示行号 </P> <P>report: 显示由面向行的命令修改过的数目 </P> <P>terse: 显示简短的警告信息 </P> <P>warn: 在转到别的文件时若没保存当前文件则显示NO write信息 </P> <P>nomagic: 允许在搜索模式中,使用前面不带“\”的特殊字符 </P> <P>nowrapscan: 禁止vi在搜索到达文件两端时,又从另一端开始 </P> <P>mesg: 允许vi显示其他用户用write写到自己终端上的信息 </P><A name=.E6.9C.80.E5.90.8E.E8.A1.8C.E6.96.B9.E5.BC.8F.E5.91.BD.E4.BB.A4></A> <H2>最后行方式命令</H2><PRE>:n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下 :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下 :n1,n2 d: 将 n1行到n2行之间的内容删除 :w: 保存当前文件 :e filename: 打开文件filename进行编辑 :x: 保存当前文件并退出 :q: 退出vi :q!: 不保存文件并退出vi :!command: 执行shell命令command :n1,n2 w!command: 将文件中n1行至n2行的内容作为command的输入并执行之,<BR> 若不指定n1,n2,则表示将整个文件内容作为command的输入 :r!command: 将命令command的输出结果放到当前行 </PRE><A name=.E5.AF.84.E5.AD.98.E5.99.A8.E6.93.8D.E4.BD.9C></A> <H2>寄存器操作</H2> <P>"?nyy: 将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字 </P> <P>"?nyw: 将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字 </P> <P>"?nyl: 将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字 </P> <P>"?p: 取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字 </P> <P>ndd: 将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中 </P>
查看全文
发表于:2007-07-11 ┆
阅读(433)
┆
评论(1)
在vmware中安装的linux中使用U盘
<span style="font-size: 13px;"> <br> 用鼠标点一下vmware,把焦点转移到vmware,插入u盘,系统会提示发现新硬件并安装驱动,挂载 #mount /dev/sda1 /mnt/usbdisk即可</span>
查看全文
发表于:2007-05-16 ┆
阅读(463)
┆
评论(0)
在 Linux 下用户空间与内核空间数据交换的方式2[转贴]
<h1><span style="color: rgb(153, 153, 153);">在 Linux 下用户空间与内核空间数据交换的方式,第 2 部分: </span>procfs、seq_file、debugfs和relayfs</h1><br><p><a href="http://www-128.ibm.com/developerworks/cn/linux/l-kerns-usrs2/#author">燚 杨</a> (<a href="mailto:yang.y.yi@gmail.com?subject=procfs%E3%80%81seq_file%E3%80%81debugfs%E5%92%8Crelayfs">yang.y.yi@gmail.com</a>), 计算机科学硕士<br></p><p>2006 年 2 月 16 日</p><blockquote>本 系列文章包括两篇,它们文详细地地介绍了Linux系统下用户空间与内核空间数据交换的九种方式,包括内核启动参数、模块参数与sysfs、 sysctl、系统调用、netlink、procfs、seq_file、debugfs和relayfs,并给出具体的例子帮助读者掌握这些技术的使 用。<br> 本文是该系列文章的第二篇,它介绍了procfs、seq_file、debugfs和relayfs,并结合给出的例子程序详细地说明了它们如何使用。</blockquote><!--START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --> <!--END RESERVED FOR……
查看全文
发表于:2007-04-29 ┆
阅读(355)
┆
评论(0)