대단한 동현 블로그
반응형

exit의 인자로 숫자가 들어올 때 exit status를 설정해 주기 위해 롱롱 오버플로우 부분을 처리해 줘야 했다. 서로 아이디어를 내 보았다.
눈물의 쇼를 했지만 그냥 atoll하는게 더 낫고 비긴 주소 설정해 주는 귀찮은 짓을 해야 해서 fail이다. 이젠 아쉽지도 않다 ㅋ 오히려 블로그 글감 생겨서 신난다.

<cpp />
void remove_zero_str(char **str)// 밖에서 비긴 저장해두고 프리 해야함 누수 난다 { int i; int minus; minus = 0; if (**str == '-' || **str == '+') { if (**str == '-') minus = 1; (*str)++; } while (**str == '0') (*str)++; if (minus) { *str -= 1; **str = '-'; // 이제 0 빼진 스트링 시작///// tlqkf왜안돼 } //-000-10 이렇게됨 // 이제 digitstr인지 검사하고 오버플로우 검사 // while (*str) // { // if (ft_isdigit(*str) == 0) // return (0); // str++; // } // return (1); } int is_overflow(char *str) { const char *max = "9223372036854775807"; const char *sign_max = "+9223372036854775807"; const char *min = "-9223372036854775808"; if (str[0] == '-' && ft_strlen(str) >= ft_strlen(min)) return (ft_strncmp(min, str, ft_strlen(max)) < 0); else if(str[0] == '+' && ft_strlen(str) >= ft_strlen(sign_max)) return (ft_strncmp(sign_max, str, ft_strlen(max)) < 0); else if (ft_strlen(str) >= ft_strlen(max)) return (ft_strncmp(max, str, ft_strlen(max)) < 0); return(0); }

스터디 3주째인데 언제 끝나냐... 이젠 지쳤어요...

'<42seoul> > minishell' 카테고리의 다른 글

목걸이를 받지 못한 코드2  (0) 2023.04.04
<< "'hi"|hi'  (2) 2023.03.30
파싱이쉬워보인다고누가그랬어제가그랬어요  (2) 2023.03.26
profile

대단한 동현 블로그

@donghyk2

안녕하세요 주니어 프론트엔드 개발자입니다.