나는 pread와 pwrite를 사용하여 파일의 시작 부분을 lseek 할 수 있고 하나의 원자 적 연산으로 읽기 또는 쓰기를 시작할 수있다. 이 두 가지 기능은 모두 나를 위해 그런 일을 할 것입니다. 그러나 문제는 필자가 과 #include<unistd.h>
을 추가 한 후에도 컴파일러가 내게 warning: implicit declaration of function ‘pread’
을 주었다는 것입니다. 내가 놓친 게 있니? 함수 호출을 사용하는 두 문장은 아래와 같습니다. 감사합니다.pread 및 pwrite가 정의되지 않았습니까?
#include<unistd.h>
#define _XOPEN_SOURCE 500
int main (int argc, char *argv[])
{
while ((read_in += pread(source_fd, in_buf, in_buf_size,read_in)) )
{
if (write_out += pwrite(dest_fd, in_buf, read_in, write_out) == -1)
{
전체 코드를 표시 할 수 있습니까? – Mysticial
@Mysticial, 모든 코드를 수정으로 추가했습니다. 나는 그렇게하기에는 너무 많은 코드라고 생각했다. – tpar44