이 분할 오류를 찾을 수 없습니다.

무효 메인 무효

그래서 저는 codewars kata를하고 있고 모든 테스트에서 성공하고 있지만 결국에는 제 코드에 세그멘테이션 결함이 있고 그것을 찾을 수있는 언어에 대해 충분히 알지 못하기 때문에 결과가 실패합니다! 누군가 제발 멈출 수 있습니까?

int is_valid_ip(const char *addr) 
{
    char set[] = "1234567890";
    int current;
    int octet_counter = 0;
    char *octet = 0;
    octet = strtok(addr, ".");
    while (octet)
    {
        if (strspn(octet, set) != strlen(octet)) return 0; // checks for spaces
        if (strlen(octet) > 1 && (octet[0]) == '0') return 0; // checks for preceding zeros
        sscanf(octet, "%d", &current);
        if (current < 0 || current > 255) return 0; // checks for range
        octet = strtok(0, ".");
        ++octet_counter;
    }
    if (octet_counter == 4) return 1; // checks for number of octets
    return 0;
};

내 코드는 좀 더 깨끗했지만이 문제를 해결하기 위해 너무 엉망이 된 후에는 이렇게되었습니다.

파올로

으로 strtok()수정 문자열을 토큰 화하는과 addr같이 정의된다 const char *당신이 입력 문자열의 복사본을 만들 수 있습니다 (I는이 요구 사항입니다 가정) *addr:

char ip[16]; // enought to hold nnn.nnn.nnn.nnn
if(strlen(addr)>15) return 0;
strcpy(ip, addr);

이후 ip대신에 작동addr


또는 ... strtok문자열을 수정하지 않고 사용 하고 구문 분석 / 스캔 하지 마십시오 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

우분투 gcc 오류가 -lut를 찾을 수 없습니다.

분류에서Dev

세분화 오류를 찾을 수 없습니다.

분류에서Dev

오류 :`pkexec`를 실행할 때 "SHELL 변수 값이 / etc / shells 파일을 찾을 수 없습니다."

분류에서Dev

ResearchKit.framework 오류 : 이미지를 찾을 수 없습니다.

분류에서Dev

오류 404 페이지를 찾을 수 없습니다.

분류에서Dev

이 코드에서 오류를 찾을 수 없습니다. (SIGSEGV)

분류에서Dev

이 SQL 문에서 오류를 찾을 수 없습니다.

분류에서Dev

오류 : pcap 라이브러리를 찾을 수 없습니다!

분류에서Dev

오류 : pcap 라이브러리를 찾을 수 없습니다.

분류에서Dev

사이트 오류를 찾을 수 없습니다.

분류에서Dev

"드라이버를 찾을 수 없습니다"오류

분류에서Dev

오류 : AJAX를 통해 양식 데이터를 전달할 때 Multipart 경계를 찾을 수 없습니다.

분류에서Dev

내 세분화 오류를 찾을 수 없습니다 : 11 오류

분류에서Dev

C ++에서 세분화 오류 오류를 찾을 수 없습니다.

분류에서Dev

게시 할 때 오류 메타 데이터 파일 dll을 CSC를 찾을 수 없습니다.

분류에서Dev

'npm start'명령을 사용할 때 이름 'Promise'오류를 찾을 수 없습니다.

분류에서Dev

오류 : 데이터를 클러스터링 할 때 '결과'개체를 찾을 수 없습니다.

분류에서Dev

PHP 코드를 통해 mysql 데이터베이스에 연결할 수 없습니다. PHP 치명적 오류 : 클래스 'MySQLi'를 찾을 수 없습니다.

분류에서Dev

" 'DatePicker'유형을 찾을 수 없습니다.", VS2010에서이 오류를 해결할 수없는 것 같습니다.

분류에서Dev

R을 사용하여 데이터를 분류 할 수 없습니다.

분류에서Dev

sysadmin없이 "버전 GLIBC_2.14를 찾을 수 없음"오류를 수정할 수 있습니까?

분류에서Dev

Django, 이름을 가져올 수 없습니다 ~~ 오류이지만 그 이유를 찾을 수 없습니다.

분류에서Dev

MySQL 작업을 시작할 수 없음-오류를 찾을 수 없습니다. 데이터베이스가 필요합니다.

분류에서Dev

ffmpeg : 인식 할 수없는 옵션 'crf'. 인수 목록 분할 오류 : 옵션을 찾을 수 없습니다.

분류에서Dev

Coq 라이브러리를 찾을 수 없음 :`오류 : 라이브러리 Floats를 찾을 수 없습니다 .`

분류에서Dev

GeneratorOf <T> 이니셜 라이저 오류를 찾을 수 없습니다.

분류에서Dev

내 shinyapp을 게시 할 수 없습니다.이 오류를 해결하기위한 조언이 없습니다.

분류에서Dev

내 프로그램이 "명령을 찾을 수 없음"오류와 함께 실행할 수 없습니다.

분류에서Dev

내 프로그램이 "명령을 찾을 수 없음"오류와 함께 실행할 수 없습니다.

Related 관련 기사

  1. 1

    우분투 gcc 오류가 -lut를 찾을 수 없습니다.

  2. 2

    세분화 오류를 찾을 수 없습니다.

  3. 3

    오류 :`pkexec`를 실행할 때 "SHELL 변수 값이 / etc / shells 파일을 찾을 수 없습니다."

  4. 4

    ResearchKit.framework 오류 : 이미지를 찾을 수 없습니다.

  5. 5

    오류 404 페이지를 찾을 수 없습니다.

  6. 6

    이 코드에서 오류를 찾을 수 없습니다. (SIGSEGV)

  7. 7

    이 SQL 문에서 오류를 찾을 수 없습니다.

  8. 8

    오류 : pcap 라이브러리를 찾을 수 없습니다!

  9. 9

    오류 : pcap 라이브러리를 찾을 수 없습니다.

  10. 10

    사이트 오류를 찾을 수 없습니다.

  11. 11

    "드라이버를 찾을 수 없습니다"오류

  12. 12

    오류 : AJAX를 통해 양식 데이터를 전달할 때 Multipart 경계를 찾을 수 없습니다.

  13. 13

    내 세분화 오류를 찾을 수 없습니다 : 11 오류

  14. 14

    C ++에서 세분화 오류 오류를 찾을 수 없습니다.

  15. 15

    게시 할 때 오류 메타 데이터 파일 dll을 CSC를 찾을 수 없습니다.

  16. 16

    'npm start'명령을 사용할 때 이름 'Promise'오류를 찾을 수 없습니다.

  17. 17

    오류 : 데이터를 클러스터링 할 때 '결과'개체를 찾을 수 없습니다.

  18. 18

    PHP 코드를 통해 mysql 데이터베이스에 연결할 수 없습니다. PHP 치명적 오류 : 클래스 'MySQLi'를 찾을 수 없습니다.

  19. 19

    " 'DatePicker'유형을 찾을 수 없습니다.", VS2010에서이 오류를 해결할 수없는 것 같습니다.

  20. 20

    R을 사용하여 데이터를 분류 할 수 없습니다.

  21. 21

    sysadmin없이 "버전 GLIBC_2.14를 찾을 수 없음"오류를 수정할 수 있습니까?

  22. 22

    Django, 이름을 가져올 수 없습니다 ~~ 오류이지만 그 이유를 찾을 수 없습니다.

  23. 23

    MySQL 작업을 시작할 수 없음-오류를 찾을 수 없습니다. 데이터베이스가 필요합니다.

  24. 24

    ffmpeg : 인식 할 수없는 옵션 'crf'. 인수 목록 분할 오류 : 옵션을 찾을 수 없습니다.

  25. 25

    Coq 라이브러리를 찾을 수 없음 :`오류 : 라이브러리 Floats를 찾을 수 없습니다 .`

  26. 26

    GeneratorOf <T> 이니셜 라이저 오류를 찾을 수 없습니다.

  27. 27

    내 shinyapp을 게시 할 수 없습니다.이 오류를 해결하기위한 조언이 없습니다.

  28. 28

    내 프로그램이 "명령을 찾을 수 없음"오류와 함께 실행할 수 없습니다.

  29. 29

    내 프로그램이 "명령을 찾을 수 없음"오류와 함께 실행할 수 없습니다.

뜨겁다태그

보관