나는 문자열 (A char*
를) 구문 분석 그리고 난, 복식로 문자열에서 숫자를 구문 분석과 같이 할 sscanf
을 사용하고 있습니다 :sscanf가 읽는 문자 수를 얻으시겠습니까?
// char* expression;
double value = 0;
sscanf(expression, "%lf", &value);
이 잘 작동하지만 다음 구문 분석을 계속하고 싶습니다 종래의 방법으로 문자열. 얼마나 많은 문자가 sscanf
에 의해 파싱 되었는가를 알아야만 새로운 오프셋에서 수동 구문 분석을 재개 할 수 있습니다.
물론, 가장 쉬운 방법은 어떻게 든 문자 sscanf
파싱의 수를 계산하는 것이나, 할 수있는 간단한 방법이 존재하지 않는 경우는, 그 I 대안 더블 분석 옵션에 개방 오전. 그러나, 현재는 sscanf
을 사용하고 있습니다. 빠르고 간단하고 읽기 쉽기 때문입니다. 어쨌든, 나는 double을 평가하고 그 후에 파싱을 계속하는 방법이 필요하다.
[Microsoft 구현] (https://msdn.microsoft.com/en-us/library/t6z7bya3.aspx?f=255&MSPPError=-2147217396)과 같이 작동하지 않는 것처럼 보일 수 있습니다. sscanf_s (p, "% s % d \ n % n", toString, (int) _countof (toString), & itemCount, &pos);''pos '가 전혀 변경되지 않은 것 같습니다. – c00000fd