#include <iostream>
#include <string>
#include <cstring>
using namespace std;
bool mytext (char *buffer, int* buffer_size)
{
const std::string s = "cyberforum 2020 г.";
if((*buffer_size)<s.size()+1)
{
*buffer_size = s.size();
return false;
}
strcpy(buffer,s.c_str());
*buffer_size = s.size();
return true;
}
int main()
{
int size = 512;
string buffer(size,'?');
bool rc =mytext(&buffer[0],&size);
if(rc)
{
buffer.resize(size);
cout << "result:"<< buffer <<endl;
}
else
cout << "need bytes:"<< size <<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y3N0cmluZz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpib29sICBteXRleHQgKGNoYXIgKmJ1ZmZlciwgaW50KiBidWZmZXJfc2l6ZSkKewogICAgY29uc3Qgc3RkOjpzdHJpbmcgcyA9ICJjeWJlcmZvcnVtIDIwMjAg0LMuIjsKIAogICAgaWYoKCpidWZmZXJfc2l6ZSk8cy5zaXplKCkrMSkKICAgIHsKICAgICAgICpidWZmZXJfc2l6ZSA9IHMuc2l6ZSgpOyAKICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgICAKICAgIHN0cmNweShidWZmZXIscy5jX3N0cigpKTsKICAgKmJ1ZmZlcl9zaXplID0gcy5zaXplKCk7IAogICByZXR1cm4gdHJ1ZTsKfQoKaW50IG1haW4oKQp7CglpbnQgc2l6ZSA9IDUxMjsKCXN0cmluZyBidWZmZXIoc2l6ZSwnPycpOwoKCWJvb2wgcmMgPW15dGV4dCgmYnVmZmVyWzBdLCZzaXplKTsKCQoJaWYocmMpCgl7CgkgICBidWZmZXIucmVzaXplKHNpemUpOwkgIAoJICAgY291dCA8PCAicmVzdWx0OiI8PCBidWZmZXIgPDxlbmRsOwoJfSAgIAoJZWxzZQoJICAgY291dCA8PCAibmVlZCBieXRlczoiPDwgc2l6ZSA8PGVuZGw7CgkKCXJldHVybiAwOwp9