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: 216 Registered: January 2012 Location: Kajaani, Finland
|
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: JeyCi on Thu, 20 March 2025 06:58
|
 |
|
Re: Big issue with Visual Studio 2019 (some versions)
By: Alboni on Thu, 20 March 2025 13:38
|
 |
|
Re: Big issue with Visual Studio 2019 (some versions)
By: mirek on Thu, 20 March 2025 15:37
|
 |
|
Re: Big issue with Visual Studio 2019 (some versions)
By: Alboni on Thu, 20 March 2025 21:12
|
 |
|
Re: Big issue with Visual Studio 2019 (some versions)
By: JeyCi on Sun, 01 June 2025 19:19
|
 |
|
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: Sat Jul 05 06:09:16 CEST 2025
Total time taken to generate the page: 0.03482 seconds
|