2009. 11. 26. 22:56
개발 이야기/C
sscanf는 문자버퍼로 부터 포맷 문자열을 입력을 받을때 사용하는 함수입니다.
line이라는 버퍼에 [service] 와 같은 입력문자열이 있을때 service만 받고자 한다면
sscanf(line, [%[^]], section);
과 같이 코딩을 합니다.
여기서 햇갈리는 부분이...[%[^]] 입니다...
'[' 다음에 오는 문자열중에서 ']'를 제외한 문자열( [ ^] ] )을 찾겠다는겁니다...
[ 출처 : http://www.redef.pe.kr/431 ]
즉,
int seconds;
char message;
sscanf(line,"%d %64[^\n]",&seconds,message) // line 에서 읽어와서, 첫번째 숫자는 seconds에, 나머지 64문자(\n이 발견될때 까지의..)는 message에 저장.
line이라는 버퍼에 [service] 와 같은 입력문자열이 있을때 service만 받고자 한다면
sscanf(line, [%[^]], section);
과 같이 코딩을 합니다.
여기서 햇갈리는 부분이...[%[^]] 입니다...
'[' 다음에 오는 문자열중에서 ']'를 제외한 문자열( [ ^] ] )을 찾겠다는겁니다...
[ 출처 : http://www.redef.pe.kr/431 ]
즉,
int seconds;
char message;
sscanf(line,"%d %64[^\n]",&seconds,message) // line 에서 읽어와서, 첫번째 숫자는 seconds에, 나머지 64문자(\n이 발견될때 까지의..)는 message에 저장.