我試圖轉換矢量爲char *通過插座 發送T的類型是一個簡單的結構轉換的std ::矢量<T>爲char *
struct CategoryStruct {
int ID;
char name[32];
};
std::vector<CategoryStruct> categories;
功能,在這裏我想轉換 -
char * Category::decodeCategoryToCharArray()
{
int structSize = sizeof(CategoryStruct),
currentByte = 0,
i = 0;
if(decoded)
delete [] decoded;
decoded = new char[structSize * categories.size()];
std::vector<CategoryStruct>::iterator start, end;
start = categories.begin();
end = categories.end();
for(; start != end; start++, i++)
{
memcpy(decoded+currentByte, &categories[i], structSize);
currentByte += structSize+1;
}
return decoded;
}
末回報將是 「」
你可以簡單地將任何'categories.data()'直接返回'memcpy'。 – ForceBru
歡迎來到Stack Overflow。請花些時間閱讀[The Tour](http://stackoverflow.com/tour),並參閱[幫助中心](http://stackoverflow.com/help/asking)中的資料,瞭解您可以在這裏問。 –
你不需要轉換任何東西,直接將'categories.data()'傳遞給'send'或'write'。 –