我有两个程序:程序 A(在 FORTRAN 中)和程序 B(在 C++ 中)。它们通过管道相互连接。程序 B 应该直接从程序 A 的控制台读取二进制数据,但由于某种原因我不能这样做:
以下是程序B的阅读部分:
BOOL bSuccess = FALSE;
LPBYTE File_Data;
DWORD dwFileSize;
wFileSize = GetFileSize(V_hChildStd_OUT_Rd, NULL);
File_Data = new BYTE[dwFileSize+1];
bSuccess = ReadFile( V_hChildStd_OUT_Rd, File_Data, dwFileSize, &dwRead, NULL);
delete [] File_Data;
注意:V_hChildStd_OUT_Rd 是程序 A 输出的句柄。
如果我传递一位、两位或三位整数(比如 1 或 10 或 100),则程序可以工作,我可以在 File_Data 数组中获得数字。但对于较大的整数和所有双数,File_Data 给出的意义较小。请注意,对于所有数字,我的 bSuccess 都是 TRUE!这意味着它可以读取文件。你能帮我解决这个问题吗?谢谢!