• 把字符串转换为整数


    注意问题:

    1)字符串是空指针的情况。

    2)假设输入的是一个空字符串“”

    3)全部‘0’到‘9’之外的字符都是非法的吗?加号和减号是合法输入。

    4) 考虑溢出

    #include <iostream>
    using namespace std;
    
    bool g_value=false;
    int  atoi(char * number){
    	if(number == NULL || *number==''){
    		 g_value=true;
    			return 0;
    	}
    
        double count=0;//此处是double型
    	bool min=false;
    	if(*number=='-'){
    		min=true;
    		number++;
    	}else if('+'==*number){
    		min=false;
    		number++;
    	}else
    		min=false;
    	while(*(number)!=''){
    		if((*number-'0')>=0&&(*number-'0')<=9){
    			count = count*10 + (*number-'0');
    			if(false==min&&count> 0x7FFFFFFF ||true==min&&count<(signed int)0x80000000){
    				cout<<"发生溢出"<<endl;
    				count=0;
    		        break;	
    			}
    			number++;
    		}else{
    			 break;
    		}
    	}
    	if(min)
    		count*=-1;
    	return (int)count;
    }
    int main(){
    	char * number="-11111";
    	
    	cout<<atoi(number);
    	return 0;
    
    }


    memmove和memcpy 差别与实现:

    http://www.cnblogs.com/foxinhongyan/articles/1267624.html



  • 相关阅读:
    1104
    HDU 1575
    hdu 1142(DFS+dijkstra)
    hdu 1015(DFS)
    hdu 1342(DFS)
    hdu 1181(DFS)变 形 课
    hdu 1312(DFS)
    hdu 5976 Detachment
    hdu 5795
    UVa 11729
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5172836.html
Copyright © 2020-2023  润新知