我想創建一個結構數組,我已經完成了,並且必須接收來自用戶的輸入。第一部分數據是描述(字符串)。我也必須爲它分配內存。我不是那麼大的弦,我想檢查,因爲它進入,但我認爲我沒有設置它的權利。任何人都可以給我一個提示或我可以看看的頁面弄清楚嗎?使用malloc爲字符串分配內存(C++源)
非常感謝。這裏是代碼的重要代碼段:
struct myExpenses
{
char *description;
float cost;
};
int main (void)
{
struct myExpenses *pData = NULL;
struct myExpenses expenses[60];
int exit=0;
int i = 0;
char buffer[81] = "";
printf("Please enter all your descriptions:\n");
for (i=0;i < 60; i++)
{
fgets(buffer,stdin);
expenses[i].description=(char *)malloc sizeof(buffer);
}
您已經標記了這個爲'C++',但它看起來像普通的'C'代碼? – 2012-01-13 07:45:13
由於這是特別是C++,而不是C,是否有一個原因,你爲什麼使用'char []'s而不是'std :: string's? – AusCBloke 2012-01-13 07:46:56
對不起,這是一個C++課程,所以我很喜歡自動駕駛儀。 @AusCbloke:我不明白你指的是什麼。 – Robolisk 2012-01-13 07:49:43