我正在爲來自客戶端的每個請求創建一個線程以獲取服務器上的文件。線程函數通常會得到一個void指針;但我需要給它一個字符指針作爲參數,並希望它由線程函數填充文件名。如何更改線程函數內的void *參數
代碼創建一個線程:
pt_ret = pthread_create(&thread_id, NULL, getfiles, (void*) thread_buff);
pthread_join(thread_id, pt_ret);
業。線程函數:
void *getfiles(void *ptr) {
/* ... */
char buff[256]; // populating that local buffer with the file names
// ptr should be as a return of buff
}
線程完成後,我曾嘗試不同的事情,但每一次,thread_buff就像變成「Q」。
沒有必要在C中拋出任何指向'void *'的指針。 – 2012-03-13 14:28:33
請問您可以發佈更多代碼嗎? – Jay 2012-03-13 14:49:59