문자열 길이를 사용하도록 '\ 0'확인 수정

Sergiu

이 코드에서는 '\0'끝을 확인하는 for 루프를 사용합니다 . 함수 내에서 문자열이 작동하는 데 항상 길이가 걸리도록 수정해야합니다.

길이를 사용하는 방법에 대해 설명해 주시면

#include <stdio.h>
#include <ctype.h>
#include "dbg.h"

int print_a_message(const char *msg)
{
    printf("A STRING: %s\n", msg);

    return 0;
}

int uppercase(const char *msg)
{
    int i = 0;

    // BUG: \0 termination problems
    for(i = 0; msg[i] != '\0'; i++) {
        printf("%c", toupper(msg[i]));
    }

    printf("\n");

    return 0;
}

int lowercase(const char *msg)
{
    int i = 0;

    // BUG: \0 termination problems
    for(i = 0; msg[i] != '\0'; i++) {
        printf("%c", tolower(msg[i]));
    }

    printf("\n");

    return 0;
}

int fail_on_purpose(const char *msg)
{
    return 1;
}
chux-모니카 복원

@Jonathan Leffler가 제안했듯이 for()널 문자를 찾는 대신 길이를 기준으로 종료 되도록 루프를 변경하십시오 .

#include <stddef.h>

int uppercase(const char *msg, size_t len)
{
    size_t i = 0;
    for(i = 0; i < len; i++) {
        printf("%c", toupper(msg[i]));
    }
    printf("\n");
    return 0;
}

OTOH, 길이와 널 문자로 종료해야하는 경우 :

int uppercase(const char *msg, size_t len)
{
    size_t i = 0;
    for(i = 0; msg[i] && i < len; i++) {
        printf("%c", toupper(msg[i]));
    }
    printf("\n");
    return 0;
}

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++ 문자열에 문자를 할당하면 문자열 길이가 0 인 이유는 무엇입니까?

분류에서Dev

사용자 입력이 정수이고 0보다 큰지 확인하는 데 도움이 필요합니다.

분류에서Dev

문자열이 정수인지 확인

분류에서Dev

영숫자가 있고 문자열 길이를 확인해야하는 정규 표현식

분류에서Dev

C의 함수를 사용하여 문자열이 회문인지 확인

분류에서Dev

특정 문자열의 길이를 특정 숫자로 나눌 수 있는지 (영원히) 확인하는 방법이 있습니까?

분류에서Dev

길이가 8 인 영숫자 문자열 사이에 하이픈 하나를 허용하는 정규식

분류에서Dev

문자열이 두 길이 사이이고 문자와 숫자 만 있는지 확인하는 정규식

분류에서Dev

"연결"문자열의 길이를 확인하는 방법

분류에서Dev

Ruby에서 문자열 길이를 확인하는 방법

분류에서Dev

유형 검사를 사용하여 문자열이 특정 값인지 확인

분류에서Dev

XML 노드의 문자열 길이를 확인할 수있는 도구가 있습니까?

분류에서Dev

문자열이 유효한지 확인하는 함수 정의

분류에서Dev

Codeeffect Rule Engine-문자열 길이를 확인하는 규칙을 정의하는 방법

분류에서Dev

두 개의 개별 값에 대한 문자열의 길이를 확인하는 Python 정규식

분류에서Dev

문자열이 [0-8]로 끝나는 지 확인하는 정규식은 false를 반환합니다.

분류에서Dev

문자열에서 문자가 사용 된 횟수를 확인하는 함수

분류에서Dev

PHP에서 preg_match를 사용하여 문자열에 (>, <,-, 0-9)와 같은 특수 문자가 있는지 확인하는 방법

분류에서Dev

문자열 형식화 너비 필드에서 길이가 0 인 제어 문자를 계산하는 Python?

분류에서Dev

문자열이 작동하지 않는 정수인지 확인하는 함수

분류에서Dev

백 슬래시를 사용하여 문자열의 일부를 제외하도록 정규식 디자인

분류에서Dev

TextBox가 0에서 20 사이의 정수인지 확인하십시오. 그렇지 않은 경우 사용자가 다시 입력하도록하십시오.

분류에서Dev

egrep을 사용하여 문자열 길이 확인

분류에서Dev

배열이있는 If 문. 배열 정수가 0인지 확인하는 방법은 무엇입니까?

분류에서Dev

특정 문자열이 배열에 존재하는지 확인하는 함수

분류에서Dev

문자열 목록으로 정의 된 길이를 사용하여 루프에서 함수 실행

분류에서Dev

문자열이 특정 길이에 도달하면 구조체의 문자 포인터 요소를 해제 할 수 없습니다.

분류에서Dev

함수에서 문자열 배열을 받고 길이 확인

분류에서Dev

문자열이 숫자로 시작하면 문자열의 길이를 확인하십시오.

Related 관련 기사

  1. 1

    C ++ 문자열에 문자를 할당하면 문자열 길이가 0 인 이유는 무엇입니까?

  2. 2

    사용자 입력이 정수이고 0보다 큰지 확인하는 데 도움이 필요합니다.

  3. 3

    문자열이 정수인지 확인

  4. 4

    영숫자가 있고 문자열 길이를 확인해야하는 정규 표현식

  5. 5

    C의 함수를 사용하여 문자열이 회문인지 확인

  6. 6

    특정 문자열의 길이를 특정 숫자로 나눌 수 있는지 (영원히) 확인하는 방법이 있습니까?

  7. 7

    길이가 8 인 영숫자 문자열 사이에 하이픈 하나를 허용하는 정규식

  8. 8

    문자열이 두 길이 사이이고 문자와 숫자 만 있는지 확인하는 정규식

  9. 9

    "연결"문자열의 길이를 확인하는 방법

  10. 10

    Ruby에서 문자열 길이를 확인하는 방법

  11. 11

    유형 검사를 사용하여 문자열이 특정 값인지 확인

  12. 12

    XML 노드의 문자열 길이를 확인할 수있는 도구가 있습니까?

  13. 13

    문자열이 유효한지 확인하는 함수 정의

  14. 14

    Codeeffect Rule Engine-문자열 길이를 확인하는 규칙을 정의하는 방법

  15. 15

    두 개의 개별 값에 대한 문자열의 길이를 확인하는 Python 정규식

  16. 16

    문자열이 [0-8]로 끝나는 지 확인하는 정규식은 false를 반환합니다.

  17. 17

    문자열에서 문자가 사용 된 횟수를 확인하는 함수

  18. 18

    PHP에서 preg_match를 사용하여 문자열에 (>, <,-, 0-9)와 같은 특수 문자가 있는지 확인하는 방법

  19. 19

    문자열 형식화 너비 필드에서 길이가 0 인 제어 문자를 계산하는 Python?

  20. 20

    문자열이 작동하지 않는 정수인지 확인하는 함수

  21. 21

    백 슬래시를 사용하여 문자열의 일부를 제외하도록 정규식 디자인

  22. 22

    TextBox가 0에서 20 사이의 정수인지 확인하십시오. 그렇지 않은 경우 사용자가 다시 입력하도록하십시오.

  23. 23

    egrep을 사용하여 문자열 길이 확인

  24. 24

    배열이있는 If 문. 배열 정수가 0인지 확인하는 방법은 무엇입니까?

  25. 25

    특정 문자열이 배열에 존재하는지 확인하는 함수

  26. 26

    문자열 목록으로 정의 된 길이를 사용하여 루프에서 함수 실행

  27. 27

    문자열이 특정 길이에 도달하면 구조체의 문자 포인터 요소를 해제 할 수 없습니다.

  28. 28

    함수에서 문자열 배열을 받고 길이 확인

  29. 29

    문자열이 숫자로 시작하면 문자열의 길이를 확인하십시오.

뜨겁다태그

보관