首页 > 解决方案 > fread() 和 shell_exec() 返回相同的字符串,但是当我比较它们时,它在我的 PHP 代码中不起作用

问题描述

$fileCode=fopen('code.cpp','w+');
    fwrite($fileCode,$code);
    fclose($fileCode);
    putenv('C:\Program Files\CodeBlocks\MinGW\bin');
    shell_exec('cd C:\xampp\htdocs\codeland');
    shell_exec('g++ -o code.exe code.cpp');
    $userOutput=shell_exec('code.exe < testInput.txt');
    $outputHandle=fopen('testoutput.txt','rb');
    $output=fread($outputHandle,filesize('testoutput.txt'));
    fclose($outputHandle);

    echo $output;
    echo "<br>";
    echo $userOutput;
    echo "<br>";

    if($output==$userOutput)echo "Accepted!!!";

在我的代码中,虽然 $output 和 $userOutput 显示相同的字符串,但我无法获得 'Accepted' 。它们显示相同的字符串,但实际上它们不相等。这里有什么问题?

标签: phpfreadshell-exec

解决方案


推荐阅读