[英]how to cast status of type float to WEXITSTATUS
我有下面的代碼,但是我需要exit(status)
返回一個float,但是WEXITSTATUS
沒有收到一個float,因為狀態必須是int,所以請問如何解決?
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表示成功終止,用大於零的值表示不成功終止。 您可以傳遞不同的非零值,以返回錯誤代碼。
不要濫用這種機制。 您應該打印結果並將其解析在父級中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.