theMessageMaxLength
即使長度大於4,也會給我一個值4
。爲什麼發生這種情況,我該如何解決?這是size_t
型的,我沒有它宣稱的任何地方,而這僅僅是傳遞在這樣一個值:size_t的長度不正確?
place_value(int task, struct PDB *llist, char *theMessage, size_t theMessageMaxLength)
上述方法被調用如下:
place_value(task, llist, theMessage, sizeof(theMessage));
我假設這是長度設置爲4的位置,但是,如果我的消息較大,是不是應該設置爲更大的值?我將如何增加尺寸,這不僅僅是4 ...?
,然後在函數內使用這樣它被傳遞到:
strncpy(llist->data1, theMessage, theMessageMaxLength);
llist->data1[theMessageMaxLength] = '\0';
謝謝:) ...知道了! – BigBug 2011-12-16 04:01:33