charArrayToInt + intLength

2554 단어 C_module
stdlib에서 str와 int/long 사이의 상호 전환:
itoa、ltoa(int, char*, int)
strtoi、strtol(char*, char**, int)
scanf에서 데이터를 읽는 문제:
  1 #include 
  2 
  3 int main(){
  4     char data[15] = "hello,world!";
  5     printf("%s
",data); 6 scanf("%s",data); 7 printf("%s
",data); 8 int i; 9 for(i=0;i<15;i++){ 10 printf("%c ",data[i]); 11 } 12 if(data[3]=='\0'){ 13 printf("hello
"); 14 } 15 if(data[3]=='
'){ 16 printf("hello
"); 17 } 18 19 20 printf("%d--%d
",'\0','
'); 21 22 return 0; 23 } /* hello,world! acd acd a c d o , w o r l d ! hello 0--10 */

☞시뮬레이션 stdlib.h에서strtoi(char*,char**,redix)/strtol(char*,char*,redix):
#include 

int charArrayToInt(char* data){
    if(data==NULL){
        return -1;
    }
    int length = 0;
    while(data[length]!='\0'){
        length++;
    }
    int i = 0;
    int j = 0;
    for(;i='0'){}else{
            return -1; 
        }
    }   
    int res = 0;
    for(i=0;i

☞int 유형을 문자열로 변환:sprintf
int intLength(int num){
    char buff[15];
    sprintf(buff,"%d",num);
    int length = 0;
    while(buff[length]!='\0'){
        length++;
    }
    return length;
}

문자열에 지정된 길이 숫자가 있는지 체크하려면 다음과 같이 하십시오.
#include 

/*
   
   :
    -1: 0 
    -2: 
    -3: 
 */
int check(char *data,int len){
    if(data==NULL){
        return -1; 
    }   
    int length=0;
    while(data[length]!='\0'){
        length++;
    }   
    int i=0;
    int j=0;
    if(data[0]==0){
        return -1; 
    }   
    for(;i='0'){}else{
            return -2; 
        }
    }   
    //  
    if(length!=len){
        return -3; 
    }   
    return 0;
}

//  
int main(){
    char *data1 = "a123";
    char *data2 = "1a23";
    char *data3 = "123a";
    char *data4 = "123";
    
    printf("%d
",check(data1,3)); printf("%d
",check(data2,3)); printf("%d
",check(data3,3)); printf("%d
",check(data4,3)); printf("%d
",check(data4,4)); return 0; }

 

좋은 웹페이지 즐겨찾기