Home » U++ Library support » U++ Core » Big issue with Visual Studio 2019 (some versions)
Re: Big issue with Visual Studio 2019 (some versions) [message #53018 is a reply to message #53011] |
Sun, 09 February 2020 14:33 |
|
Alboni
Messages: 214 Registered: January 2012 Location: Deventer, Netherlands
|
Experienced Member |
|
|
Yeah, don't break your computer.
I came up with this:
#include <iostream>
typedef unsigned char bYte;
#define min(a,b) ( a<b ? a : b )
class B;
class A {
public:
bYte data[256]; bYte datalen;
public:
A(const void* b, bYte len); // assign binary data
A(char* string); // assign C string
A(B& b);
operator char*() // to c string
{
data[sizeof(data)-1]=0;
return (char*)data;
};
};
class B {
public:
bYte data[256]; bYte datalen;
public:
B(const void* b, bYte len); // assign binary data
B(char* string); // assign C string
operator char* () // to c string
{
data[sizeof(data)-1]=0;
return (char*)data;
}
};
A::A(const void* b, bYte len) // assign binary data
{
datalen = min(len, sizeof(data)-1);
memcpy(data, b, datalen);
data[datalen]=0;
}
A::A(char* string) // assign C string
{
datalen = min(strlen(string)+1, sizeof(data));
memcpy(data, string, datalen);
data[sizeof(data)-1]=0;
}
A::A(B& b)
{
datalen = b.datalen;
memcpy(data, b.data, sizeof(data));
}
B::B(const void* b, bYte len) // assign binary data
{
datalen = min(len, sizeof(data)-1);
memcpy(data, b, datalen);
data[datalen]=0;
}
B::B(char* string) // assign C string
{
datalen = min(strlen(string)+1, sizeof(data));
memcpy(data, string, datalen);
data[sizeof(data)-1]=0;
}
A ReturnB()
{
const char binary[10] = {1,2,0,3,4,5,6,7,8,0};
B b(binary, 10);
return b;
}
int main(int argc, const char *argv[])
{
A a = ReturnB();
int len = a.datalen;
std::cout << "This should return 10 and it returns " << len << "\r\n";
return 0;
}
[Updated on: Sun, 09 February 2020 14:44] Report message to a moderator
|
|
|
|
|
Big issue with Visual Studio 2019 (some versions)
By: Alboni on Sat, 08 February 2020 02:19
|
|
|
Re: Big issue with Visual Studio 2019 (some versions)
By: Alboni on Sat, 08 February 2020 11:50
|
|
|
Re: Big issue with Visual Studio 2019 (some versions)
By: mirek on Sat, 08 February 2020 11:55
|
|
|
Re: Big issue with Visual Studio 2019 (some versions)
By: Alboni on Sat, 08 February 2020 13:02
|
|
|
Re: Big issue with Visual Studio 2019 (some versions)
By: Alboni on Sat, 08 February 2020 13:10
|
|
|
Re: Big issue with Visual Studio 2019 (some versions)
By: Alboni on Sat, 08 February 2020 13:17
|
|
|
Re: Big issue with Visual Studio 2019 (some versions)
By: mirek on Sun, 09 February 2020 10:34
|
|
|
Re: Big issue with Visual Studio 2019 (some versions)
By: Alboni on Sun, 09 February 2020 14:33
|
|
|
Re: Big issue with Visual Studio 2019 (some versions)
By: mirek on Mon, 10 February 2020 10:32
|
|
|
Re: Big issue with Visual Studio 2019 (some versions)
By: Alboni on Sun, 09 February 2020 14:35
|
|
|
Re: Big issue with Visual Studio 2019 (some versions)
By: Alboni on Mon, 10 February 2020 10:58
|
|
|
Re: Big issue with Visual Studio 2019 (some versions)
By: mirek on Mon, 10 February 2020 11:50
|
|
|
Re: Big issue with Visual Studio 2019 (some versions)
|
|
|
Re: Big issue with Visual Studio 2019 (some versions)
By: mirek on Wed, 29 July 2020 10:32
|
|
|
Re: Big issue with Visual Studio 2019 (some versions)
By: Alboni on Wed, 29 July 2020 14:17
|
|
|
Re: Big issue with Visual Studio 2019 (some versions)
By: mirek on Wed, 23 September 2020 12:45
|
|
|
Re: Big issue with Visual Studio 2019 (some versions)
By: Alboni on Wed, 29 July 2020 14:27
|
Goto Forum:
Current Time: Mon May 06 03:16:38 CEST 2024
Total time taken to generate the page: 0.01789 seconds
|