[질문]sscanf()함수를 이용한 코드중에서,,,

k3rnel의 이미지

안녕하세요
sscanf()함수의 사용법을 알려고 인터넷 검색을 하다가,,재미난(?) 코드를 발견하였습니다,
=====================================================================

fgets(buffer, MAXLEN, fp);

int boneIndex, parentIndex;
char boneName[MAXLEN];

sscanf(buffer, "%d \"%[^\"]\" %d", &boneIndex, boneName, &parentIndex);

만약 buffer에 0 "abcde ef" 0 이런값이 들어 있다고 하면...
boneIndex에 0이 들어가고
boneName에 "abcde ef" 가 들어가고
parentIndex에 0이 들어간다.
======================================================================

여기서 sscanf()에 사용된 \"%[^\"]\"

양쪽 역슬래쉬(\)는 큰따옴표를 escape하는것이라는것은 이해가 됩니다만,,그것을 제외한
%[^"]

설명 부탁할께요( _ _)

수고하세요

출처: http://kindlion.egloos.com/1133042

kewlbear의 이미지

따옴표(")가 아닌 글자를 가져오겠다는 것입니다.

익명 사용자의 이미지

이거 마치 reg exp같은데 sscanf안에서 regular expressnio을 지원하는건가요?

kewlbear의 이미지

표준에서 지원하는 것은 일반적으로 말하는 regular expression의 수준까지는 아닙니다.