저는 Ubuntu 10.4를 사용하고 있으며 두 개의 (긴) C 프로그램과 XDR을 사용하여 파일을 쓰는 프로그램과이 파일을 입력으로 사용하는 프로그램이 있습니다. 그러나 두 번째 프로그램은 작성된 파일을 읽을 수 없습니다. 모든 것이 완벽하게 잘 보입니다. 단지 작동하지 않습니다. 더 구체적으로 말하면, xdr_string()이라는 오류 메시지가 추가 된 마지막 줄에서 실패합니다.이 오류 메시지는 입력 파일의 첫 번째 행에서 읽을 수 없음을 나타냅니다. 명백한 오류는 보이지 않습니다. 입력 파일은 쓰여지고, 내용이 있고 나는 stings -a -n 2 "inputfile"을 사용하여 올바른 문자열을 볼 수 있습니다. 누구나 무슨 일이 일어나고 있는지 알 수 있습니까? 프로그램 1 (작가)의c를 사용하여 xdr로 쓰여진 파일을 읽는 데 문제가 있습니다.
관련 부품 : 프로그램 2 (독자)의
/**
* 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()");
관련 부품 :
/**
* 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()");
"모든 것이 완벽하게 잘 보입니다. 단지 작동하지 않습니다." 평균? 무슨 일이 잘 되니? 코드를 단계별로 실행하여 실패한 부분을 확인할 수 있습니까? – Vicky
입력 파일의 첫 번째 줄에서 읽을 수 없음을 나타내는 xdr_string() 오류 메시지와 함께 여기에 추가 된 마지막 줄에서 실패합니다. 모든 것이 완벽하게 멋지다는 것은 명백한 오류가없는 것을 의미합니다. 입력 파일은 쓰여지고, 내용이 있고 나는 stings -a -n 2 "inputfile"을 사용하여 올바른 문자열을 볼 수 있습니다. – Inga