小编JAY*_*Y G的帖子

在附加模式下打开文件:使用open()API

我试图使用open()api调用以附加模式打开文件,但是下面的代码不起作用!它没有写任何文件!这是我的代码:

在此输入图像描述

c unix

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

regexp_like与like运算符:Oracle

我正在使用SQL'like'运算符搜索多个短语。使用Oracle中的Regexp_like函数可以提取相同的结果。哪种更好/效率更高?为什么?我的观察是,“ like”比regEX的运行速度快得多。我正在对具有几百万行的超大型数据集运行查询。这是查询的两个版本

使用像:

select 
     name 
from 
     table 
where 
     lower(result) like '%the condition is absent%'
     or lower(result) like '%partial presence of disease%'
Run Code Online (Sandbox Code Playgroud)

使用Regexp_like():

select 
     name 
from 
     table 
where 
     regexp_like(lower(result),'^.*(the condition is absent)|(partial presence of disease).*$')
Run Code Online (Sandbox Code Playgroud)

regex sql oracle

5
推荐指数
0
解决办法
3387
查看次数

读者编写者问题:每次都获得不同的输出

我在C中使用信号量为Reader-Writer的问题编写了简单的解决方案.但是每次成功运行后我都会得到不同的输出.这背后的确切原因是什么?这是代码:

#include<stdio.h>
#include<semaphore.h>
#include<pthread.h>
#include<string.h>

sem_t x,wsem;
int rc;

void *reader(void *);
void *writer(void *);

int svar=0;

int main()
{
    pthread_t w[2],r[3];
    sem_init(&x,0,1);
    sem_init(&wsem,0,1);

    rc=0;

    pthread_create(&w[0],NULL,writer,(void *)0);
    pthread_create(&r[0],NULL,reader,(void *)0);
    pthread_create(&w[1],NULL,writer,(void *)1);
    pthread_create(&r[1],NULL,reader,(void *)1);
    pthread_create(&r[2],NULL,reader,(void *)2);

    pthread_join(r[0],NULL);
    pthread_join(w[0],NULL);
    pthread_join(w[1],NULL);
    pthread_join(r[1],NULL);
    pthread_join(r[2],NULL);

    sem_destroy(&x);
    sem_destroy(&wsem);

    return 0;
}

void *reader(void *arg)
{

        printf("\nReader is executing......");
        sem_wait(&x);
        rc++;
        if (rc == 1)
        sem_wait(&wsem);
        sem_post(&x);
        printf("Reader-%d : value of shared variable : %d\n", (int)arg,svar);
        sem_wait(&x);
        rc--;
        if (rc==0)
            sem_post(&wsem);
        sem_post(&x);

}

void *writer(void *arg)
{ …
Run Code Online (Sandbox Code Playgroud)

c semaphore

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

"需要l值"错误

我们什么时候得到"需要l值"错误...编译C++程序时???(我正在使用VC++)

c++ rvalue lvalue

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

在C中进行三元搜索

我想在C中对三进制进行三元搜索...我已经尝试过了......但是对于特定情况它并不适用.请帮我删除以下程序中的错误 -

我的尝试:

#include<stdio.h>
#include<conio.h>
void  tsearch(int *a,int i,int j,int k);
main() {
  int a[30],n,i,k;
        printf("\nEnter n:");
  scanf("%d",&n);
  printf("\nEnter nos in ascending order:");
  for(i=0;i<n;i++)
      scanf("%d",&a[i]);
  printf("Enter no to search:");
  scanf("%d",&k);
  tsearch(a,0,n-1,k);

  getch();
}

void tsearch(int *a,int i,int j,int k) {
  int m1,m2;
  m1=(i+j)/3;
  m2=2*(i+j)/3;
  if(k==a[m1])
   {
    printf("\nno found at %d",m1);
    return;
   }
  else  if(k==a[m2])
   {
    printf("\nno found at %d",m2);
    return;
   }
  if(k<a[m1])
    return(tsearch(a,i,m1-1,k));
  if(k>a[m2])
    return(tsearch(a,m2+1,j,k));
  else   
    return(tsearch(a,m1+1,m2-1,k));
}   
Run Code Online (Sandbox Code Playgroud)

如果要搜索的数字出现在(阵列的)最后2-3个位置之一中,它(仅)终止.我犯了错误的地方???

c search

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

Python中的树实现

如何在Python中实现树?

我是Python初学者.

给我一个大致的想法!

python

0
推荐指数
3
解决办法
5593
查看次数

标签 统计

c ×3

c++ ×1

lvalue ×1

oracle ×1

python ×1

regex ×1

rvalue ×1

search ×1

semaphore ×1

sql ×1

unix ×1