[C++] Linux下的itoa函数
上篇文章说到linux需要itoa函数,下面我就提供一份跨平台的itoa函数。
//return the length of result string. support only 10 radix for easy use and better performance
int my_itoa(int val, char* buf)
{
const int radix = 10;
char* p;
int a; //every digit
int len;
char* b; //start of the digit char
char temp;
p = buf;
if (val < 0)
{
*p++ = '-';
val = 0 - val;
}
b = p;
do
{
a = val % radix;
val /= radix;
*p++ = a + '0';
} while (val > 0);
len = (int)(p - buf);
*p-- = 0;
//swap
do
{
temp = *p;
*p = *b;
*b = temp;
--p;
++b;
} while (b < p);
return len;
}
这个函数会返回字符串的长度,在某些场合下会很有用。
我测试了一下,这个函数大概比MFC自带的itoa要快20%左右。
(因为不需要在循环体内判断if (a > 9)了,所以更快)。
相关文档:
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
一:前言
最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!
(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)
键盘驱动将检 ......
A 加后缀
1.问题:同以目录下有海量以日期命名的文件,其中有的有后缀,有的以点结尾,如20020101.,20020102.,……,20020101.td,20020102.td……
要求: 把所有以点结尾的加上后缀.ts
我的方法:
#!/bin/bash
for files in `ls *.`
do
mv $files `echo “$filests” `
done ......
linux命令行下中文文件名乱码的解决方法
首先查询支持的编码:
locale -a
如果没有你需要的编码,例如zh_CN.utf8
root运行: #dpkg-reconfigure locales
选择你需要的编码,用空格选中,可多选。tab选择“OK”,回车。
默认编码选择zh_CN.utf8
安装你所需要的编码。
修改/etc/profile,
注释掉
export LC ......
转贴自:http://alexanderlaw.blog.hexun.com/8960896_d.html
Linux netfilter源码分析(1)
内容基本上来自两篇文章:
《Netfilter源码分析》—(独孤九贱http://www.skynet.org.cn/index.php)
《Linux Netfilter实现机制和扩展技术》——(杨沙洲 国防科技大学计算机学院)
一、 IP报文的接 ......