zoukankan      html  css  js  c++  java
  • 创建一个pthread线程时如何传递参数

    现在我写的源代码如下:
    #include <stdio.h>
    #include <pthread.h>


    typedef struct
    {
    char test_no1[12];
    char test_no2[20];
    short test_length;
    } tsm_info_def;

    void *SendSM(void *arg)
    {
    char No1[12];
    char No2[20];
    int Length;
    tsm_info_def *pSmInfo=(tsm_info_def *)arg;

    strcpy(No1,pSmInfo->test_no1);
    strcpy(No2,pSmInfo->test_no2);
    Length = pSmInfo->test_length;
    printf("%s%s%d\n",No1,No2,Length);
    }

    int main(void)
    {
    pthread_t id;
    int ret,i;
    char tmpstr[20];
    tsm_info_def SmInfo;
    strcpy(SmInfo.test_no1,"12345678901");
    strcpy(SmInfo.test_no2,"测试的内容");
    pSmInfo->test_length = 10;
    for(i=0;i<3;i++)
    {
    sprintf(str,"%d",i);
    strcat(SmInfo.test_no2,str);
    ret=pthread_create(&id,NULL,SendSM,(void *)&SmInfo);
    if(ret!=0)
    {
    fprintf(stderr,"Create pthread error!\n");
    }
    }
    pthread_join(id,NULL);
    return (0);
    }
  • 相关阅读:
    c语言 9-3
    c语言 9-12
    c语言 9-11
    c语言 9-10
    c语言中实现字符串大小写的转换
    tyvj1106 登山
    tyvj1125 JR's chop
    tyvj1148 小船弯弯
    tyvj1087 sumsets
    tyvj1086 Elevator
  • 原文地址:https://www.cnblogs.com/cy163/p/1269931.html
Copyright © 2011-2022 走看看