diff options
Diffstat (limited to 'libodbcpp/string.cpp')
-rw-r--r-- | libodbcpp/string.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/libodbcpp/string.cpp b/libodbcpp/string.cpp new file mode 100644 index 0000000..d04e141 --- /dev/null +++ b/libodbcpp/string.cpp @@ -0,0 +1,39 @@ +#include <stdarg.h> +#include "string.h" + +ODBC::String::String() +{ +} +ODBC::String::String(std::basic_string<unsigned char> s) : + std::basic_string<unsigned char>(s) +{ +} +ODBC::String::String(std::basic_string<char> s) : + std::basic_string<unsigned char>((unsigned char *)s.c_str()) +{ +} +ODBC::String::String(const char * s) : + std::basic_string<unsigned char>((unsigned char *)s) +{ +} +ODBC::String::String(const unsigned char * s) : + std::basic_string<unsigned char>(s) +{ +} + +ODBC::String::operator unsigned char * () const +{ + return (unsigned char*)c_str(); +} + +ODBC::String +ODBC::String::Format(const char * fmt, ...) +{ + char * buf; + va_list va; + va_start(va, fmt); + vasprintf(&buf, fmt, va); + va_end(va); + return buf; +} + |