Mercurial > hg > octave-nkf
diff src/oct-stream.cc @ 5279:bd32f770c09a
[project @ 2005-04-12 21:55:31 by jwe]
author | jwe |
---|---|
date | Tue, 12 Apr 2005 21:55:31 +0000 |
parents | 23b37da9fd5b |
children | db290db95b33 |
line wrap: on
line diff
--- a/src/oct-stream.cc +++ b/src/oct-stream.cc @@ -1948,7 +1948,7 @@ retval = mval; if (all_char_conv) - retval = retval.convert_to_str (); + retval = retval.convert_to_str (false, true); } return retval; @@ -3583,6 +3583,31 @@ return retval; } +octave_value +octave_stream::scanf (const octave_value& fmt, const Array<double>& size, + int& count, const std::string& who) +{ + octave_value retval = Matrix (); + + if (fmt.is_string ()) + { + std::string sfmt = fmt.string_value (); + + if (fmt.is_sq_string ()) + sfmt = do_string_escapes (sfmt); + + retval = scanf (sfmt, size, count, who); + } + else + { + // Note that this is not ::error () ! + + error (who + ": format must be a string"); + } + + return retval; +} + octave_value_list octave_stream::oscanf (const std::string& fmt, const std::string& who) { @@ -3594,6 +3619,30 @@ return retval; } +octave_value_list +octave_stream::oscanf (const octave_value& fmt, const std::string& who) +{ + octave_value_list retval; + + if (fmt.is_string ()) + { + std::string sfmt = fmt.string_value (); + + if (fmt.is_sq_string ()) + sfmt = do_string_escapes (sfmt); + + retval = oscanf (sfmt, who); + } + else + { + // Note that this is not ::error () ! + + error (who + ": format must be a string"); + } + + return retval; +} + int octave_stream::printf (const std::string& fmt, const octave_value_list& args, const std::string& who) @@ -3607,6 +3656,31 @@ } int +octave_stream::printf (const octave_value& fmt, const octave_value_list& args, + const std::string& who) +{ + int retval = 0; + + if (fmt.is_string ()) + { + std::string sfmt = fmt.string_value (); + + if (fmt.is_sq_string ()) + sfmt = do_string_escapes (sfmt); + + retval = printf (sfmt, args, who); + } + else + { + // Note that this is not ::error () ! + + error (who + ": format must be a string"); + } + + return retval; +} + +int octave_stream::puts (const std::string& s, const std::string& who) { int retval = -1; @@ -3627,7 +3701,7 @@ if (tc_s.is_string ()) { std::string s = tc_s.string_value (); - retval = rep->puts (s, who); + retval = puts (s, who); } else {