반응형
sscanf("123456789123456789123456789123456789", "%d", &n")는 동작을 정의했습니까?
언제sscanf()
또는 에서 다른 기능을 수행합니다.scanf
패밀리는 변환된 값이 대상 정수 유형의 최대값을 초과하는 일련의 자릿수가 주어집니다.
- 변환이 실패한 것으로 간주해야 합니까?
- 동작은 정의되어 있습니까?
표준 7.21.6.2p10 ((f)scanf
, 패밀리 전체에 적용됩니다.
… 이 객체에 적절한 유형이 없거나 변환 결과를 객체에 표시할 수 없는 경우 동작은 정의되지 않습니다.
또 다른 이유인 것 같은데scanf
가족.그strtoXX
함수는 완전히 정의된 동작을 가집니다.그들은 돌아옵니다LONG_MAX
입력 및 설정이 너무 큰 경우 등errno == ERANGE
따라서 정확한 정보가 필요한 경우 수동으로 입력을 토큰화하고 이러한 기능을 변환에 사용합니다.또 다른 장점은 오류 처리 능력 향상입니다.
언급URL : https://stackoverflow.com/questions/44740449/does-sscanf123456789123456789123456789-d-n-have-defined-behavior
반응형
'programing' 카테고리의 다른 글
GCC 최적화 레벨은 몇 개입니까? (0) | 2022.07.27 |
---|---|
Array Lists 어레이 작성 방법 (0) | 2022.07.27 |
vuejs에서 다른 모달 표시 후 모달은 자동으로 숨깁니다. (0) | 2022.07.27 |
큰 파일 전체 Mmap() (0) | 2022.07.27 |
인터페이스 변수가 디폴트로는 스태틱하고 최종적인 이유는 무엇입니까? (0) | 2022.07.27 |