Ich bin eine einfache Kommunikation zwischen den Buchsen tun und hier ist mein C++ CodePuffergröße geändert
while(1)
{
string buffer = "23,45\n";
const char* foo = buffer.c_str();
cout << "size of buffer is " << sizeof(buffer)<<endl;
send (s, foo, sizeof(buffer), 0);
}
seltsame Sache ist die Faust Iteration, die Größe des Puffers 5 wie erwartet, aber da die zweite Iteration und So, die Größe sprang dramatisch auf 32. irgendeine Idee warum? Vielen Dank. Übrigens kommt die zusätzliche Größe aus Leerzeichen.
Warum verwenden Sie 'buffer.size()' nicht so, wie Sie 'string' verwenden sollten? – Griwes
'sizeof (buffer)' gibt die Größe des 'buffer'-Objekts zurück, das nicht mit der Länge der enthaltenen Zeichenfolge übereinstimmt. –
Schauen Sie hier >> http://www.cplusplus.com/forum/startner/24922/ –