gpt4 book ai didi

c - 使用 c 读取 xdr 编写的文件时出现问题

转载 作者:行者123 更新时间:2023-11-30 18:06:59 25 4
gpt4 key购买 nike

我使用的是 Ubuntu 10.4,有两个(长)C 程序,一个使用 XDR 写入文件,另一个使用该文件作为输入。然而,第二个程序无法读取写入的文件。一切看起来都很好,但就是行不通。更具体地说,它在此处添加的最后一行失败,并显示错误消息 xdr_string(),这表明它无法读取输入文件的第一行。我没有看到任何明显的错误。输入文件已写出,有内容,我可以使用 stings -a -n 2 "inputfile"看到正确的字符串。有人知道出了什么问题吗?

程序1的相关部分(作者):

/**
* create compressed XDR output stream
*/

output_file=open_write_pipe(output_filename);
xdrstdio_create(&xdrs, output_file, XDR_ENCODE);

/**
* print material name
*/

if( xdr_string(&xdrs, &name, _POSIX_NAME_MAX) == FALSE )
xdr_err("xdr_string()");

程序2(阅读器)的相关部分:

  /**
* open data file
*/

input_file=open_data_file(input_filename, "r");
if( input_file == NULL ){
ERROR(input_filename);
exit(EXIT_FAILURE);
}

/**
* create input XDR stream
*/

xdrstdio_create(&xdrs, input_file, XDR_DECODE);

/**
* read material name
*/

if(xdr_string(&xdrs, &name, _POSIX_NAME_MAX) == FALSE)
XDR_ERR("xdr_string()");

最佳答案

我不知道 open_write_pipeopen_data_file 是如何工作的,但是您是否尝试过以二进制模式写入/读取文件? Portable XDR for Windows 就是这种情况。 。诚然,该示例是针对整数的,但对于字符串来说应该是相同的。

关于c - 使用 c 读取 xdr 编写的文件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5153065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com