2016-06-01 9 views
0

私は少し問題があります。私はこのコードを持っています認識されません(システムコール-c)

#include <stdio.h> 
#include <string.h> 
#include <stdlib.h> 
#include <unistd.h> 
#include <sys/stat.h> // serve per le FIFO 
#include <fcntl.h> // serve per la open 
#include <stdbool.h> 
#define BUF_SIZE 100 

int main (int argc,char *argv[]){ 

----definition of variables---- 

if (argc > 3) { 
    printf("Errore troppi argomenti da riga di start\n"); 
    return -1; 
} 

if (argc < 2) { 
    printf("Errore pochi argomenti da riga di start\n"); 
    return -1; 
} 

if(argc == 3){ 
    pathServer=argv[1]; 
    pathClient=argv[2]; 
    printf("Ho stampato da riga di comando %d parametri.\n", argc); 
} 

if(argc == 2){ 
    pathServer=argv[1]; 
    printf("Ho stampato da riga di comando %d parametri.\n", argc); 
} 

if((mkfifo(pathClient, S_IWUSR | S_IRUSR)) < 0){ 
printf("Errore. FifoClient non creata.\n"); 
return -1; 
} 

fifoServer=open(pathServer, O_WRONLY); 
write(fifoServer, pathClient, strlen(pathClient)); 
fifoClient=open(pathClient, O_RDONLY); 

while(contr1) { 
    printf ("Inserisci comando da eseguire:\n"); 
(other code) 
} 

プログラムは最初に入っていません。 それはすべての制御を行う前に、そして、端末が何も表示しないことを私が助けてください。

+0

ここで、あなたはcontr1を初期化していますか? – kunal

+0

----変数の定義----これを行う: bool contr1 = true; –

+0

pathServer = argv [1]とは何ですか? pathClient = argv [2]; – kunal

答えて

0

私たちがこれに答える前に少し問題を明確にしてください。

最初にifまたは最初にwhileと認識されないのですか? whileを意味する場合は、その状態の変数contr1に関するアドバイスをお願いします。それはどこから来ますか?その価値を変更するものは何ですか?

関連する問題