반응형
C에서 문자열을 어떻게 소문자로 지정합니까?
C에서 대소 문자 혼합 문자열을 소문자 문자열로 어떻게 변환 할 수 있습니까?
그것은 표준 라이브러리에 있으며, 이러한 기능을 구현하는 가장 직접적인 방법입니다. 예, 문자열을 반복하고 각 문자를 소문자로 변환하십시오.
다음과 같은 사소한 것 :
#include <ctype.h>
for(int i = 0; str[i]; i++){
str[i] = tolower(str[i]);
}
또는 하나의 라이너를 선호하는 경우 JF Sebastian에서 다음을 사용할 수 있습니다.
for ( ; *p; ++p) *p = tolower(*p);
소문자로 변환하는 것은 상승 비트 0x60과 같습니다.
for(char *p = pstr;*p;++p) *p=*p>0x40&&*p<0x5b?*p|0x60:*p;
(물론 라틴어 코드 페이지)
ASCII 문자열 만 다루고 있으며 로케일 문제가 없습니까? 그렇다면 네, 그렇게하는 것이 좋은 방법이 될 것입니다.
소문자 함수에서 유니 코드 지원이 필요한 경우 다음 질문을 참조하십시오. Light C 유니 코드 라이브러리
를 사용하는 것처럼 엉성한 경우 다음과 같이 tolower()
하십시오.
char blah[] = "blah blah Blah BLAH blAH\0"; int i=0; while(blah[i]|=' ', blah[++i]) {}
그러나 음, 기호 / 숫자를 입력하면 폭발이 일어나고 일반적으로 악합니다. 그래도 좋은 인터뷰 질문입니다.
참고 URL : https://stackoverflow.com/questions/2661766/how-do-i-lowercase-a-string-in-c
반응형
'Programing' 카테고리의 다른 글
reflect를 사용하여 struct 필드의 값을 어떻게 설정합니까? (0) | 2020.09.03 |
---|---|
자체 템플릿으로 기본 제공 암호 재설정 / 변경보기를 사용하는 방법 (0) | 2020.09.03 |
TypeAdapter를 사용하는 개체의 하나의 변수에 대한 Gson 사용자 지정 세랄 라이저 (0) | 2020.09.03 |
스트림에서 연속 쌍 수집 (0) | 2020.09.03 |
react-router 대 react-router-dom, 언제 둘 중 하나를 사용해야합니까? (0) | 2020.09.03 |