Linux 由用户键盘输入次数n和字符串str,要求在新线程中显示n次str字符串 编译并运行
时间: 2024-02-28 15:52:09 浏览: 56
linux 字符串操作
以下是使用C语言在Linux下实现的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void *print_string(void* arg){
char* str = (char*)arg;
int n = *((int*)(arg+sizeof(char*)));
for(int i=0; i<n; i++){
printf("%s\n", str);
}
return NULL;
}
int main(){
// 从用户输入中获取n和str
int n;
char str[100];
printf("请输入字符串:");
scanf("%s", str);
printf("请输入次数:");
scanf("%d", &n);
// 创建新线程
pthread_t tid;
void* arg = malloc(sizeof(char*)+sizeof(int));
*((char**)arg) = str;
*((int*)(arg+sizeof(char*))) = n;
pthread_create(&tid, NULL, print_string, arg);
// 等待新线程执行完毕
pthread_join(tid, NULL);
return 0;
}
```
代码中,我们首先从用户输入中获取了字符串和次数,然后创建了一个新线程,并将字符串和次数作为参数传递给了该线程。新线程的功能就是简单地输出n次字符串,最后使用pthread_join函数等待新线程执行完毕。
阅读全文