如何将浮点类型的状态转换为WEXITSTATUS

如何将浮点类型的状态转换为WEXITSTATUS

问题描述:

我有下面的代码,但我需要exit(status)返回一个浮点数,但WEXITSTATUS没有收到浮点数原因状态必须是int,那么请问有什么解决方案?如何将浮点类型的状态转换为WEXITSTATUS

scanf("%f%f",&f,&g); 
     P = fork(); 
     if(P == 0){ 
      printf("\nje suis le fils multiplication: PID = %d\n", getpid()); 
      printf("mon pere: PID = %d\n", getppid()); 
      resultat2 = f * g; 
      exit(resultat2); 
     }else if(P < 0){ 
      printf("FORK a echoue\t"); 
      exit(EXIT_FAILURE); 
     }else{ 
      printf("\nje suis le pere : PID = %d\n", getpid()); 
      printf("mon fils: PID = %d\n", P); 
      P = wait(&status); 
      if(WIFEXITED(status)) 
       printf("le produit = %d \n", WEXITSTATUS(status)); 
     } 
+0

编辑您的代码。 – gsamaras 2015-04-04 14:06:43

+0

是的,法国代码。如果您使用英文文本并附加说明程序应该做什么,这将有所帮助。 – usr1234567 2015-04-04 14:11:52

退出状态并不意味着要传输计算结果。它意味着用0表示成功终止,而用大于零的值表示不成功终止。您可以传递不同的非零值,以返回错误代码。

请勿滥用此机制。你应该打印你的结果并在父文件中解析。