atoi(ASCII to integer)函数它把字符串中的字符(第一个字符必须为数字)转换为int型数,只处理十进制数。如果数值太大,超出了范围,atoi函数就返回LONG_MAX或者LONG_MIN。
atoi函数用法:
int atoi (const char *str);
atoi函数示例:
num=atoi(“12345”);
idc.com/xtywjcwz/14001.html" target="_blank">运行结果:
num的值为12345
实际上atoi函数的核心需要遍历字符串里的每个字符,也就是遍历字符串中的每一位数字,将其拆分出来,然后每位数字的值*10的n次方,然后进行累加,最后得到的就是整数值。具体的实现代码如下:
int atoi(const char* str)
int result = 0; //最终返回的结果
int minus = 0; // 用来记录是否为负数
int pos = 0; // 用来记录是否有正负号,如果有且有数字,则pos=1
// 遍历计算字符串
while(*str != ‘\0’)
if(*str == ‘-‘ && pos == 0)
// 如果是负号,则把minus = -1;表示此数为负数
else if(‘0’
// *str乘以10的n次方 ( n为字符串的当前位下标 )
result = result*10 + (*str – ‘0’);
pos = 1; //记录已经有数字
else if(pos == 0)
// 如果非数字非负号,直接返回
return minus == -1 ? -result : result;
总结后,可以看出,Linux函数atoi的功能是把字符串中的字符转换为int型数,使用这个函数把字符串转化为整型数数字可以大大减少我们编程的工作量,以及节省空间和时间上的浪费。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
Windows和Linux下的网络编程方法的异同
Linux下的网络编程与Windows下采用底层的API类似,但是也有区别:区别一:Windows下需加上WSAStartup()函数区别二:关闭socket:Linux为close(),Windows为closesocket()windows下采用上层的API,一般有CSocket和CAsynSocket这两种类型的类这种情况以下socket函数一般的首字母大写。 而底层的API不管是windows下的还是linux下的socket函数首字母都是小写的。
top命令中哪个参数是查看正在运行进程数
Runningtotal 进程总数running 正在运行的进程数sleeping 睡眠的进程数stopped 停止的进程数zombie 僵尸进程数Cpu(s): 0.3% us 用户空间占用CPU百分比1.0% sy 内核空间占用CPU百分比0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比98.7% id 空闲CPU百分比0.0% wa 等待输入输出的CPU时间百分比0.0%hi:硬件CPU中断占用百分比0.0%si:软中断占用百分比0.0%st:虚拟机占用百分比
linux中at命令
linux at 命令详解使用方式 : at -V [-q queue] [-f file] [-mldbv] TIME说明 : at 可以让使用者指定在 TIME 这个特定时刻执行某个程序或指令,TIME 的格式是 HH:MM其中的 HH 为小时,MM 为分钟,甚至你也可以指定 am, pm, midnight, noon, teatime(就是下午 4 点锺)等口语词。 如果想要指定超过一天内的时间,则可以用 MMDDYY 或者 MM/DD/YY 的格式,其中 MM 是分钟,DD 是第几日,YY 是指年份。 另外,使用者甚至也可以使用像是 now + 时间间隔来弹性指定时间,其中的时间间隔可以是 minutes, hours, days, weeks。 另外,使用者也可指定 today 或 tomorrow 来表示今天或明天。 当指定了时间并按下 enter 之后,at 会进入交谈模式并要求输入指令或程序,当你输入完后按下 ctrl+D 即可完成所有动作,至于执行的结果将会寄回你的帐号中。 参数 :-V : 印出版本编号-q : 使用指定的伫列(Queue)来储存,at 的资料是存放在所谓的 queue 中,使用者可以同时使用多个 queue,而 queue 的编号为 a, b, c... z 以及 A, B, ... Z 共 52 个-m : 即使程序/指令执行完成后没有输出结果, 也要寄封信给使用者-f file : 读入预先写好的命令档。 使用者不一定要使用交谈模式来输入,可以先将所有的指定先写入档案后再一次读入-l : 列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l)-d : 删除指定 (使用者也可以直接使用 atrm 而不用 at -d)-v : 列出所有已经完成但尚未删除的指定
发表评论