Sometimes while listening to data on a network, the packet structure defined contains data members of type char[]. In most of the cases, the data in these char[] data members will not be null terminated.
i.e.
How do you read the object in your program. There are various ways, here's one:
i.e.
structObj.charArray[8] = { 'p', 'a', 'r', 'a', 'g', ' ', ' ', ' ' }; //see all 8 chars occupied, with no null termination at the end.
How do you read the object in your program. There are various ways, here's one:
#include <iostream>
#include <string>
#include <cassert>
#define ARRAY_SIZE(a) sizeof(a)/sizeof(a[0])
#define MAX_INPUT_ARR_SIZE 5
int main()
{
char input[MAX_INPUT_ARR_SIZE] = { 'p', 'a', 'r', 'a', 'g' };
const std::string output( input, ARRAY_SIZE(input) );
std::cout << output << std::endl;
//To check on the size
assert(output.length() == MAX_INPUT_ARR_SIZE);
return 0;
}