1. 问题描写叙述 实现c++函数库中atoi()函数,要考虑到各种特殊情况: 空字符串。 +和-号。 字符串前中后n个空格。 溢出。 非数字字符。 2. 解决方式 转换过程并不复杂。复杂的是要考虑到众多特殊情况。 int myAtoi(string str) { if(str.length() = ...
分类:
编程语言 时间:
2016-04-18 22:35:40
阅读次数:
716
main()函数的参数:main(intargc,char*argv[],char*envp[]);argc:表示包含文件名在内的命令行参数的个数。argv[]是指针数:里面存放的全是char*类型,最后放一个NULL字符结尾。argv[]存放的是包含文件名在内的所有命令行参数的首地址。envp[]也是一个指针数组:里面存放的是环境..
分类:
其他好文 时间:
2016-04-17 18:02:37
阅读次数:
140
1.需求来源 有时候我们需要写一些脚本处理一些任务,可能根据不同的条件输入不同的命令,来完成不同的任务。能不能做到跟linux操作系统一样,看着更高大上一点呢? 答案当然是可以的啦!getopt能满足你的需求 先看个linux 中的系统命令吧:最终目的就是写出类似的脚本。 2.getopt介绍 ge ...
分类:
编程语言 时间:
2016-04-11 22:03:50
阅读次数:
351
可执行文件的格式 可执行文件最初为A.out格式,后来演化为COFF格式,再后来变成PE(windows系统)和ELF(linux系统)。ELF:executable and linkable format,即可执行可链接格式。 可执行程序的执行环境 命令行参数和shell环境,一般我们执行一个程序 ...
分类:
系统相关 时间:
2016-04-11 00:15:41
阅读次数:
261
一.几个重要的基本概念 链接:链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可以被加载到存储器中并执行。 编译器驱动程序:编译的过程可以分为以下几个步骤:1.语言预处理器 2.编译器 3.汇编器 4.链接器 静态链接:以一组可重定位目标文件和命令行参数作为输入,生成一个完全 ...
分类:
其他好文 时间:
2016-04-07 01:28:43
阅读次数:
177
头文件:head.h
#include
#include
#include /* malloc()等 */
#include /* INT_MAX等 */
#include /* EOF(=^Z或F6),NULL */
#include /* atoi() */
#include /* eof() */
#include /* floor(),ceil(),abs() */
#include /...
分类:
其他好文 时间:
2016-04-06 23:38:22
阅读次数:
441
内存管理 1.从地地址到高地址依次为:代码区、数据区、堆区、栈区、命令行参数及环境变量区域 2.局部变量:局部变量位于栈区 栈区特点: 1.栈区当中变量未初始化之前都为随机值 2.在变量作用域结束后,变量空间被操作系统收回 全局变量:全局变量位于数据区 数据区特点: 1.数据区中变量未初始化之前都是 ...
分类:
其他好文 时间:
2016-04-06 22:59:53
阅读次数:
136
创建套接字,装填网际网套接字地址结构 创建一个TCP套接字,用服务器的IP地址和端口号装填一个网际网套接字地址结构 我们可从命令行参数取得服务器的IP地址 从头文件unp.h取得服务器的众所周知端口号(SERV_PORT) 连接到服务器 connect建立与服务器的连接 str_cli函数完成剩余部 ...
分类:
其他好文 时间:
2016-04-04 17:52:30
阅读次数:
164
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
intmy_atoi(constchar*str)
{
assert(str);
intflag=1;
intret=0;
while(isspace(*str))
{
str++;
}
if(*str==‘-‘)
{
flag=-1;
}
if(*str==‘+‘||*str==‘-‘)
{
str++;
}
while(*str)
{
ret=ret*10+(..
分类:
其他好文 时间:
2016-04-04 13:22:09
阅读次数:
187