Mac OS X의 최근 파일에 대한 기본 데이터베이스를 구문 분석해야합니다. 이것은 sed를 사용하여 수행됩니다. 주의해야 할 점은 파일 이름은 거기에있는 분해 된 utf-16에 저장된다는 것입니다.일반 C에서 precomposedStringWithCanonicalMapping을 CFStringref와 함께 사용하는 방법
그래서 (NSString 함수를 지적한 후) "왜 그냥 처리하지 않는 작은 도구를 만들지 않을까?"라고 생각했습니다.
이 도구는 기본적으로 고양이처럼 작동하도록되어, 그것은 CFStringref 하기 전에, 그것은 CFStringref 객체로 각 라인을 변환, 입력에서 라인을 얻을 희망는 미리 만들어진 UTF-16으로 변환됩니다, 나는 다시 UTF-로 변환 8, 그것을 인쇄합니다.
나는이 "유료 브리징"작업을 알지 못한다. 나는 이것을 위해 코코아와 Objective C를 사용할 의사가 없다. 단지 CFStringref를 사용하는 스트레이트 솔루션을 원한다. 그러한 해결책이 존재한다면!
감사합니다. 여기
내가 지금까지 가지고 무엇을 :
이 일 것으로 보인다#define BUFFERSIZE 512
static void
precomposedOutput(char *fn)
{
char buffer[BUFFERSIZE] ;
CFStringRef str ;
char *outbuf;
char *bytes ;
FILE *fd = stdin ;
if (fn) {
fd = fopen(fn,"r");
}
while (fgets(buffer, sizeof(buffer),fd)) {
bytes = savestr(buffer) ;
str = CFStringCreateWithCStringNoCopy(NULL, bytes,kCFStringEncodingUTF8, NULL);
/* CONVERSION INTO PRECOMPOSED IS SUPPOSED TO HAPPEN HERE */
outbuf = Copy_CFStringRefToCString(str) ;
CFRelease(str) ;
fputs(outbuf,stdout) ;
free(outbuf) ;
}
}
, 지금까지 앞뒤로 변환에, (. 누출 거기에를 실행하지) 내가 도움이 필요 무엇, CFString을 사전 구성된 UTF-16으로 변환하는 것입니다.
감사합니다.