'daki başka bir işleve nasıl geçirilir Bir dizi dizininin başka bir işleve nasıl iletileceğini anlamaya çalışıyorum. İşteDizi dizini, c
Ben: işlevi get_checksum
yılında
for(i=0; i<file_cnt; i++){
iret1 = pthread_create(&(file[i]), NULL, get_checksum, (void*)&filenames[i]);
printf("%s\n", filenames[i]);
}
, sonunda dosya adları dizinini gerekiyor, ama i
o işlevinde kullanılamaz. get_checksum
işlevi
void* get_checksum(void* a){
char *filename = (char *) a;
.....
}
I filenames[i]
ile ilgili olarak bir karakter işaretçi olarak a
geçirilir. Ancak, bir dizi dizinin indeksini almayı içeren get_checksum
işlevinde daha sonra hesaplama yapmam gerekiyor. Bu nedenle, bunun yerine get_checksum
işlevine geçirilmek üzere filenames
dizinine ihtiyacım var.
Dizi dizini başka bir işleve nasıl iletilir?
Bir yapı oluşturun, ilgili tüm parametrelerle yapıyı doldurun ve bunu pthread_create dosyasına aktarın - http://www.amparo.net/ce155/thread-ex.html – OldProgrammer