मैं एक स्ट्रिंग (एक char*
) को पार्स कर रहा हूँ और मैं, युगल में स्ट्रिंग से संख्या पार्स इसलिए की तरह करने के लिए sscanf
उपयोग कर रहा हूँ:sscanf द्वारा पढ़े गए वर्णों की संख्या प्राप्त करें?
// char* expression;
double value = 0;
sscanf(expression, "%lf", &value);
यह अच्छा काम करता है, लेकिन मैं तो पार्स करने जारी रखना चाहते हैं परंपरागत माध्यमों के माध्यम से स्ट्रिंग। मुझे यह जानने की जरूरत है कि sscanf
द्वारा कितने पात्रों को पार्स किया गया है ताकि मैं अपने ऑफसेट पार्सिंग को नए ऑफसेट से फिर से शुरू कर सकूं।
जाहिर है, सबसे आसान तरीका है किसी भी तरह अक्षर हैं जो sscanf
पार्स की संख्या की गणना करने के लिए होगा, लेकिन अगर वहाँ करने के लिए कोई आसान तरीका है कि, मैं बजे विकल्प डबल पार्स विकल्पों के लिए खुला। हालांकि, मैं वर्तमान में sscanf
का उपयोग कर रहा हूं क्योंकि यह तेज़, सरल और पठनीय है। किसी भी तरह से, मुझे बस डबल का मूल्यांकन करने और इसके बाद पार्सिंग जारी रखने का एक तरीका चाहिए।
मैं इसे (https://msdn.microsoft.com/en-us/library/t6z7bya3.aspx?f=255&MSPPError=-2147217396) जैसे [Microsoft क्रियान्वयन] के लिए काम करने के लिए प्रतीत नहीं कर सकते हैं: ' sscanf_s (पी, "% s% d \ n% n", toString, (int) _countof (toString), और itemCount, &pos); '' pos' बिल्कुल बदलना प्रतीत नहीं होता है। – c00000fd