char* 변수가 빈 문자열을 가리키는지 확인하려면 어떻게 해야 합니까?
어떻게 하면 확인할 수 있는 방법char*
변수가 빈 문자열을 가리킵니다.
첫 번째 문자가 '\0'인지 확인합니다.포인터가 NULL인지도 확인해야 합니다.
char *c = "";
if ((c != NULL) && (c[0] == '\0')) {
printf("c is empty\n");
}
이 두 가지 체크 모두 편리하고 재사용하기 쉬운 기능에 넣을 수 있습니다.
편집: if 스테이트먼트는 다음과 같이 읽을 수 있습니다.c가 0이 아니고 문자 배열 c의 첫 글자가 "\0" 또는 "0"이 아닌 경우..".
그&&
단순히 두 조건을 결합합니다.기본적으로 다음과 같습니다.
if (c != NULL) { /* AND (or &&) */
if (c[0] == '\0') {
printf("c is empty\n");
}
}
명확하지 않다면 좋은 C 프로그래밍 책을 구해야 할 것입니다.나는 "C 프로그래밍 언어"라는 책을 추천할 수 있다.
위와 같은 가장 짧은 버전은 다음과 같습니다.
if (c && !c[0]) {
printf("c is empty\n");
}
원하는 방법:
if (*ptr == 0) // empty string
아마도 더 일반적일 것입니다.
if (strlen(ptr) == 0) // empty string
if (!*ptr) { /* empty string */}
유사하게
if (*ptr) { /* not empty */ }
라이브러리 기능이 가장 잘 구현되어 있기 때문에 strlen 함수를 사용하고 싶습니다.
그래서 if(strlen(p)==0) // 빈 문자열로 씁니다.
빈 문자열에는 1개의 null 바이트가 있습니다.그래서 테스트if (s[0] == (char)0)
포인터를 확인합니다.NULL
그 후 를 사용하여strlen
다시 돌아올지 어떨지0
.
NULL
통과하기 때문에 체크는 중요하다.NULL
에의 포인터.strlen
정의되지 않은 동작을 호출합니다.
기회를 주세요.
함수 gets(string)를 통해 문자열을 가져온 다음 if(string[0] == '\0')로 조건을 확인하십시오.
언급URL : https://stackoverflow.com/questions/7970617/how-can-i-check-if-char-variable-points-to-empty-string
'programing' 카테고리의 다른 글
스플라이싱 어레이가 테이블 행 Vuej를 다시 렌더링하지 않음 (0) | 2022.07.21 |
---|---|
Vuex 모듈 돌연변이 (0) | 2022.07.21 |
Vue.js, 컴포넌트에서 SweetAlert2 html 폼 데이터를 입력하는 방법 (0) | 2022.07.14 |
"V8Js::compileString():1812:ReferenceError:document is not defined" Larabel VueJS & V8Js TypeScript (0) | 2022.07.14 |
Java: 쉼표로 구분된 문자열을 분할하지만 따옴표로 둘러싸인 쉼표는 무시합니다. (0) | 2022.07.14 |