2011-11-16 24 views
0
char name; 
char* id; 
int salary; 
char department[5]; 

我想如何將所有這些數據添加到單個數據流中?例如:JoeA1250002其中Joe是名稱,A12是成員ID,5000是薪水,2是部門編號。在C++中追加不同的字段

謝謝

+3

'Joe'不可能是'name',因爲'名字「只是一個字符。另外,不要在人們的臉上扔'char *'並假裝你正在編寫C++ ... –

+1

用'string'替換char *'並將它們包裝在一個很好命名的結構中。 –

+0

你可以像這樣流式傳輸數據。但是,怎麼樣才能將它分離回其組件。 –

回答

2

假設name實際上是定義char*,和你真的使用C++,你可以使用一個stringstream

std::ostringstream output; 
output << name << id << salary << department; 

std::string const value = output.str(); // eg: JoeA1250002 
+0

是否有可能將此const值複製到char? – Kiran

+0

@Kiran:你想回到C嗎?像'strdup(output.str()。c_str())'應該可以工作...... –

+0

但是strdup在C++ STL中不可用。有沒有C++的方法? – Kiran