scanf의 형 지정자 중 [...]과 [^...]에 대해
초월
질문 제목 : scanf의 형 지정자 중 [...]과 [^...]에 대해scanf의 형 지정자 중 [...]과 [^...]이 어떻게 동작하는 지 궁금합니다.
질문 내용 :
scanf의 형 지정자중에 [...]와 [^...]가 있다는 걸 알았는데요.
[...]은 괄호안에 있는 문자만 입력된다.입력동작은력동작은 일치하지 않는 문자가 나타나거나
지정된 필드 폭 이상 사용되거나 엔터키를 누르는 즉시 종료된다.
라고 나와있는 데요. 한 예로 scanf(%[ab],str); 이라고 했을 때를 보면요.
abc를 입력했을 때에는 ab가 str에 저장된 다음, c는 버퍼에 남겨진 채로 scanf를 빠져나오는 것이고,
cab를입력했을 때에는 str에 널 문자만 저장되고 cab가 버퍼에 남겨진 채로scanf를 빠져나오거나,
아니면 str에는 아무것도 저장이 안되고 cab가 버퍼에 남겨진 채로 scanf를 빠져나오는 것인가요?
그리고, a~z, 1~9를 입력받으려고할 경우에 %[a...z1...9]로 쓸 수 있나요?
[^...]은 괄호안에 있지 않는 문자만 입력된다고 하는데요.
이것 역시 문자열을 읽는 중에 괄호안의 문자들 중에서 같은게 있으면 나머지 부분은 버퍼에 남겨진 채로
scanf를 빠져나오는 것인가요.scanf(%[^\n],str); 이렇게 하면 gets 함수처럼 동작하게 되는 것인가요?
-
Sweet
정규표현식을 사용할 수 있었나부네...
-
맑은가람
정규표현식이었군요. 찾아보니 분량이 방대하네요... 윗분들 답변 감사합니다.
-
돋가이
처음 보는 내용이네요 허허;;;
이런건 언제 만든거햐!!! -
세여닝
첫번째. 후자입니다.
두번째. %[a-z1-9]입니다.
세번째. 네 맞습니다.
네번째. 비슷하게 동작하네요. 맞는듯합니다.
ps. 문자 집합의 기호로는 [, ^, -, ]만 지원합니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676182 | 숫자 순서대로 배열하는법 | 권뉴 | 2024-11-24 |
2676152 | 기본적인거 하나 질문드립니다. | 개미 | 2024-11-24 |
2676124 | 함수선언관련 질문이에요~...털썩..수정완료 (2) | 가지 | 2024-11-24 |
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |