クライアントからのリクエストごとに、サーバー上のファイルを取得するスレッドを作成しています。スレッド関数は通常、voidポインタを取得します。私はパラメータとしてcharポインタを与え、スレッド関数によってファイル名が設定されるようにする必要があります。スレッド関数の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 *へのポインタをキャストする必要はありません。 –
もっとコードを投稿できますか? – Jay