Пользователь передает данные на вход, этот вход сохраняется в argv [2].Я сохраняю это значение в буфере, затем пытаюсь передать это значение через мою функцию pthread_create другой функции.Однако это искажает значение буфера.
Я передаю ввод, может быть что-то вроде «Hello», затем, когда он печатается в функции «printFiles», это бессмысленно.Как мне это исправить?
void *printFiles(void *file);
int main(int argc, char **argv)
{
pthread_t thread;
char *store = argv[2];
char *buffer = (malloc(500));
strcpy(buffer, store);
pthread_create(&thread, NULL, printFiles, (void *)&buffer);
pthread_join(&thread, NULL);
return 0;
}
void *printFiles(void *file)
{
printf("%s\n", file);
}