strtol
은 주어진 문자열에서 긴 정수를 파싱합니다. 괜찮아. 하지만 파싱 된 것이 있는지 어떻게 확인할 수 있습니까? 그래서
abcdef
strtol이 전혀 구문 분석하지 않았는지 어떻게 확인할 수 있습니까?
: 너무 다음 문자열 수율 0
에 strtol
를 사용하지만
0abcdef
- 다음 문자열 수율
0
에strtol
를 사용 : 예를 들어, 나는 어떤 지시자도 가지고 있지 않다. f unment는 유효한
0
을 파싱했거나 전혀 구문 분석하지 않았으므로0
을 반환합니다.strtol
이 올바르게 작동했는지 또는 오류와 함께 반환되었는지 어떻게 확인합니까? 대안이 있습니까?I read that
strtol
sets an errno (유닉스), 특히 Win32 플랫폼에 관심이 있습니다.
이렇게 간단합니다. 감사. – eckes
환영합니다 @eckes – nouney
첫 번째 잘못된 문자는 아닙니다. 예를 들어 공백의 초기 시퀀스가 유효하지만 문자열이 공백으로 시작하는 경우에도 변환이 수행되지 않으면 'nptr '는'* endptr'에 저장 될 것입니다. – caf