虽然不被识别(系统调用-c)

时间:2016-06-01 13:21:35

标签: loops while-loop enter

我有点问题。我有这个代码

#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)
}

程序不会进入第一次。 它完全控制了之前和终端没有显示任何东西 我不知道为什么,请帮帮我

1 个答案:

答案 0 :(得分:0)

在我们回答之前请先澄清一下你的问题。

您的意思是它无法识别第一个if或第一个while吗?如果您的意思是while,那么请在其条件中提供有关变量contr1的一些建议。它来自哪里?是什么改变了它的价值?