/// /// * returns the next Object (<seealso cref= the constructor), null if the string has been completely parsed or an invalid /// * format is scanned </seealso> /// private object next() { if (!MoveNext()) { return(null); } string fmtString = (string)vFmt[pos++]; ScanfFormat fmt = new ScanfFormat(fmtString); try { if ("dxoi".IndexOf((char)fmt.type) >= 0) { return(scanInt(fmt)); //new int(scanInt(fmt)); } if ("f".IndexOf((char)fmt.type) >= 0) { return(scanDouble(fmt)); // new double(scanDouble(fmt)); } return(scanString(fmt)); } catch (ArgumentException) { pos = 999999; return(null); } catch (IOException) { pos = 999999; return(null); } }
// // * (non-Javadoc) // * // * @see org.cip4.jdflib.cformat.ScanfReader#scanDouble(org.cip4.jdflib.cformat .ScanfFormat) // public override double scanDouble(ScanfFormat fmt) { if ("dxoi".IndexOf((char)fmt.type) >= 0) // also gracefully handle int as // double { return(scanLong(fmt)); } return(base.scanDouble(fmt)); }
// // * (non-Javadoc) // * // * @see org.cip4.jdflib.cformat.ScanfReader#scanString(org.cip4.jdflib.cformat .ScanfFormat) // public override string scanString(ScanfFormat fmt) { if ("di".IndexOf((char)fmt.type) >= 0) // also gracefully handle int as double { return(Convert.ToString(scanLong(fmt), 10)); } if ("o".IndexOf((char)fmt.type) >= 0) // also gracefully handle int as double { return(Convert.ToString(scanLong(fmt), 8)); } if ("x".IndexOf((char)fmt.type) >= 0) // also gracefully handle int as double { return(Convert.ToString(scanLong(fmt), 16)); } if ("f".IndexOf((char)fmt.type) >= 0) // also gracefully handle int as double { return(Convert.ToString(scanDouble(fmt))); } if ("c".IndexOf((char)fmt.type) >= 0) // also gracefully handle int as double { return(new string(scanChars(fmt))); } return(base.scanString(fmt)); }