Fixed assignment of double to MString.
This commit is contained in:
parent
1cfdc23a57
commit
363a6aa496
16
MString.cpp
16
MString.cpp
@ -2,6 +2,7 @@
|
||||
#include "Log.h"
|
||||
#include "uuid/uuid.h"
|
||||
#include <cstring>
|
||||
#include <string>
|
||||
#include <iomanip>
|
||||
#include <stdlib.h>
|
||||
|
||||
@ -80,6 +81,13 @@ namespace coreutils {
|
||||
this->length = fread(this->data, 1000000, 1000000, file);
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::MString(double value) {
|
||||
std::string data = std::to_string(value);
|
||||
setSize(data.length());
|
||||
memcpy(this->data, (char *)data.c_str(), data.length());
|
||||
cursor = this->data;
|
||||
}
|
||||
|
||||
MString::~MString() {
|
||||
if (data)
|
||||
@ -120,6 +128,14 @@ namespace coreutils {
|
||||
*data = value;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator=(double value) {
|
||||
std::string data = std::to_string(value);
|
||||
setSize(data.length());
|
||||
memcpy(this->data, (char *)data.c_str(), data.length());
|
||||
cursor = this->data;
|
||||
return *this;
|
||||
}
|
||||
|
||||
MString &MString::operator<<(const char *value) {
|
||||
int temp = length;
|
||||
|
12
MString.h
12
MString.h
@ -81,6 +81,12 @@ namespace coreutils {
|
||||
///
|
||||
|
||||
MString(std::FILE *file);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
MString(double value);
|
||||
|
||||
///
|
||||
///
|
||||
@ -117,6 +123,12 @@ namespace coreutils {
|
||||
|
||||
MString &operator=(char data);
|
||||
|
||||
///
|
||||
/// Assignment operator for saving a double value..
|
||||
///
|
||||
|
||||
MString &operator=(double value);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
Binary file not shown.
@ -81,6 +81,14 @@ int main(int argc, char **argv) {
|
||||
|
||||
// coreutils::MString test24 = std::endl;
|
||||
// std::cout << "mstring << endl: " << test24 << std::endl;
|
||||
|
||||
coreutils::MString test25 = 3.14159;
|
||||
std::cout << "float: " << test25 << std::endl;
|
||||
|
||||
coreutils::MString test26;
|
||||
double test27 = 4.0f;
|
||||
test26 = test27;
|
||||
std::cout << "float: " << test26 << std::endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user