使用Linux实现 编程:由用户键盘输入次数n和字符串str,要求在新线程中显示n次str字符串
时间: 2024-02-27 20:58:49 浏览: 69
Linux 编程
以下是使用Linux实现的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void *print_string(void *args) {
char *str = ((char **)args)[0];
int n = *((int **)args)[1];
for (int i = 0; i < n; i++) {
printf("%s\n", str);
}
return NULL;
}
int main() {
char *str;
int n;
// 获取用户输入
printf("请输入字符串:");
scanf("%ms", &str);
printf("请输入次数:");
scanf("%d", &n);
// 创建新线程
pthread_t thread;
char **args = malloc(2 * sizeof(char *));
int **n_ptr = malloc(sizeof(int *));
*n_ptr = &n;
args[0] = str;
args[1] = (char *)n_ptr;
pthread_create(&thread, NULL, print_string, args);
// 等待新线程结束
pthread_join(thread, NULL);
// 释放内存
free(args);
free(n_ptr);
free(str);
return 0;
}
```
在这个程序中,我们使用了pthread库来创建新线程。在主线程中,我们获取用户输入的字符串和次数,然后将它们作为参数传递给新线程。新线程使用for循环来多次打印输入的字符串。最后,我们使用pthread_join等待新线程结束,并释放内存。
阅读全文