小编rsc*_*rin的帖子

将多个参数传递给pthread_create

可能重复:
pthread_create()调用的函数的多个参数?
如何将多个值作为参数传递给C中的线程?

我有这些结构:

struct Request {
    char buf[MAXLENREQ];
    char inf[MAXLENREQ]; /* buffer per richiesta INF */
    int lenreq;
    uint16_t port; /* porta server */
    struct in_addr serveraddr; /* ip server sockaddr_in */
    char path[MAXLENPATH];
    /*struct Range range;*/
};

struct RequestGet {
    char buf[MAXLENREQ];
    int maxconnect;
    struct Range range;
};

struct ResponseGet{
    char buf[MAXLENDATA];
    //int LenRange;
    int expire;
    char dati[MAXLENDATA];
    struct Range range; 
};
Run Code Online (Sandbox Code Playgroud)

我怎么能把它们传递给pthread_create?无论每个结构领域的含义如何.

pthread_create(&id,NULL,thread_func,????HERE????);
Run Code Online (Sandbox Code Playgroud)

c parameters multithreading pthreads

2
推荐指数
1
解决办法
9113
查看次数

读取逐行文件和拆分值

我需要读取如下组成的txt文件:

      AA=1000,AA=320009#999999

      AA=1011,AA=320303#111111
Run Code Online (Sandbox Code Playgroud)

对于每个引线,我需要用"#"分割它以获得第一个转弯

 $test[0] = AA=1000,AA=320009 and $test[1]=999999
Run Code Online (Sandbox Code Playgroud)

在第二个回合

 $test[0] = AA=1000,AA=320003   $test[1]= 1111111
Run Code Online (Sandbox Code Playgroud)

我有一些问题需要了解如何使用get-content或获取它.

powershell powershell-2.0

2
推荐指数
1
解决办法
4万
查看次数

复制项目文件名中包含奇怪字符的文件(即[])

我必须复制文件名如下

  $filename = "Sport.EL#15.csv.[]"
Run Code Online (Sandbox Code Playgroud)

到另一个文件夹中。

如果我使用

  copy-item -force Sport.EL#15.csv.[] $dest_path 
Run Code Online (Sandbox Code Playgroud)

它不起作用。

因为我这样做了:

  foreach ($f in Get-ChildItem $pathfile | Where {!$_.PsIsContainer} | Where {$_.Name -match $filename}){....}
Run Code Online (Sandbox Code Playgroud)

错误是

  Bad argument to operator '-match': parsing "Sport.EL#15.csv.[]" - Unterminated [] set..
Run Code Online (Sandbox Code Playgroud)

我认为问题出在文件名中的[]。我该如何解决?

powershell copy-item powershell-2.0

2
推荐指数
1
解决办法
3357
查看次数

用pthread_create()替换fork()

有人可以告诉我如何替换这个简单的代码使用pthread_create而不是fork()?有可能吗?特别是,我遇到了传递给main()的struct*ex的一些问题.我怎么改变它?

int k=0;
pthread_mutex_t mutex= PTHREAD_MUTEX_INITIALIZER;

struct primi{
    int s;
    int temp;};
struct example{
    int c;
    struct primi primissimi;};

//handler atfork()
void prepare(void){ 
    pthread_mutex_lock(&mutex);}
void parent(void){
    pthread_mutex_unlock(&mutex);}
void child(void){
    pthread_mutex_unlock(&mutex); }


void *funzione_thread(void* args){
   pthread_mutex_lock(&mutex);
   struct example *exthread = args;
   struct example locale = *exthread;
   locale.primissimi.s++;
   pthread_mutex_unlock(&mutex);
   //do something
   pthread_exit(NULL);
  }

int ffork(struct example *extmp){
   pthread_t id[5];
   int i;
   while(k<3){
      k++;
      pthread_create(&id[k],NULL,funzione_thread,extmp);
      }
   for(i=1;i<=3;i++){
      pthread_join( id[i] ,NULL );
      printf("waited thread %d\n",i);
      }
   printf("threads completed\n");
   return 1;
   }

 int main(int argc, …
Run Code Online (Sandbox Code Playgroud)

c multithreading fork pthreads

1
推荐指数
1
解决办法
3041
查看次数

Powershell从文件名中删除时间戳

如果我有一些名为 pippo_yyyymmdd.txt、pluto_yyyymmdd.txt 等的文件,如何删除时间戳并将文件重命名为 pippo.txt、pluto.txt ?

powershell

1
推荐指数
1
解决办法
7576
查看次数

理论:谁能解释使用=

有人可以用这个代码解释我

 data=$(date +"%Y-%m-%dS%H:%M:%S")
 name="/home/cft/"$data"_test.tar"
 touch $name
Run Code Online (Sandbox Code Playgroud)

工作,创建一个新的.tar文件,但此代码不起作用

 data=$(date +"%Y-%m-%dS%H:%M:%S")
 name= "/home/cft/"$data"_test.tar"
 touch $name
Run Code Online (Sandbox Code Playgroud)

并给我这个错误:没有这样的文件或目录?

为什么=和引号之间的空格会产生这个错误?

bash

1
推荐指数
1
解决办法
111
查看次数

使用批处理脚本从字符串中删除特定字符

我想只删除特定字符到一个字符串,只有一次.例如,如果我有这个文件:

"1234 + test.txt"
Run Code Online (Sandbox Code Playgroud)

我想删除"+"字符.我的问题是我不知道文件名中有多少"+"; 顺便说一句,我只想删除第一个:

"1234 ++ test + hello + world.txt"
Run Code Online (Sandbox Code Playgroud)

需要:

"1234 + test + hello + world.txt"
Run Code Online (Sandbox Code Playgroud)

我需要使用bat脚本执行此操作.我有一些问题正确使用"令牌,delims"参数....

编辑:我对Edoro的解决方案有疑问.如果filename是"++ plus - .txt",%left%是"plus - .txt",%right%是+ plus - .txt

string wildcard batch-file

0
推荐指数
1
解决办法
1818
查看次数