[arduino] Compilation error: 'strlwr' was not declared in this scope

[arduino] Compilation error: 'strlwr' was not declared in this scope

[arduino] Compilation error: ‘strlwr’ was not declared in this scope

enter image description here

아두이노 R4에서 기존 라이브러리를 사용해서 컴파일 했더니 에러가 발생했다.

Compilation error: 'strlwr' was not declared in this scope

strlwr이 표준함수가 아니라서 발생한 에러
문자열을 소문자로 바꿔주는 함수인데 표준함수에 맞춰서 문자열을 소문자로 바꾸는 함수를 만들어줘야 한다.

다행이 문자를 소문자로 바꾸는 함수는 <ctype.h> 에 있음

아래와 같이 문자열을 소문자로 변경하는 함수를 추가하고

void toLowerCase(char *str) {
    while (*str) {
        *str = tolower(*str);
        str++;
    }
}

기존 문자열 소문자 변환 코드에서 이름만 바꿔주면 된다.

char *nm = namebuf + pathlen;

//strlwr(nm);
toLowerCase(nm);

다른 표준함수 아닌 코드들도 비슷하게 구현 가능할 거라 생각함

끝 :)

댓글 쓰기

0 댓글