0
문자 배열을 소문자 char 배열로 변환해야합니다. 또한 Ä와 같은 특수 문자를 ä로 변환하려고합니다. 그러나 "ASCII 코드"196 ASCII 128 않습니다. 어떻게 소문자로 변환 할 수 있습니까? 문자열 이니셜 라이저로 사용할 수는 있지만 실제로 코드를 처리 할 수는 없습니다. 이 경우 컴파일러 옵션을 리눅스에서 이클립스 CDT c99 모드없이 사용할 수 있습니다 (그 하나를 사용할 수 없습니다). ctype.h
에서Ansi C - 문자열을 소문자 문자열로 변환
char* toLowerCase(char* text)
{
int length = strlen(text);
char* result = malloc(length); // malloc adds the 0 automatically at result[length]
int i;
for (i = 0; i < length; i++)
if ((text[i] >= 65) && (text[i] <= 90))
result[i] = text[i] | 32;
else
result[i] = text[i];
return result;
}
toLowerCase("hElLo WoRlD ÄäÖöÜü");
// result is "hello world ÄäÖöÜü"
tolower()
중 하나를하지 않습니다.
가 더이 완전히 됨으로써 불행을 확장 비 고 친절한 asci. 그리고 당신은 단지 14 살 * 표준에 기반을 둔 컴파일러를 사용할 수 없습니까? 나는 너의 교수가 * 진짜 * 인기 있다고 생각한다. – WhozCraig
반송 문자열이 종료되지 않았습니다. – unwind
더 이상 다루기 전에 [모든 소프트웨어 개발자가 절대적으로 최소로 절대적으로, 절대적으로 유니 코드와 문자 집합에 대해 알고 있어야합니다 (변명 없음!)] (http://www.joelonsoftware.com/articles/Unicode.html)를 읽어보십시오. 문자. – pmg