0
여기에 의 내용을 읽으려고합니다. fileDesc 텍스트 파일을 가리키는 파일 설명자입니다. * pipe_d [1] * 한 번에 하나의 문자 . 이 파일에서 문자를 올바르게 인쇄 할 수 있지만 내 쓰기() 내가이 같은 경우 문자 및 파이프 문자의 메모리 주소를 쓰려고 시도합니다 믿습니다.파이프에 파일 설명자가있는 텍스트 파일을 읽습니다.
char x;
FILE *file;
file = fdopen(fileDesc, "a+");
while((x = fgetc(file)) != EOF)
{
printf("%c", x);
write(pipe_d[1], &x, sizeof(x));
}
내가 대신 파이프에 기록 할 & X에있는 문자를 좀하고 싶습니다. 이견있는 사람?
미리 감사드립니다. X에 문제가 있습니다
fdopen() + fgetc(), fgets(), fread()} BTW : O_RDWR과 O_APPEND의 조합은 의심스러워 보입니다. 그리고 당신의 fd는 어떤 종류의 파이프가 아니라 일반 파일을 가리 킵니다. – wildplasser
나는 당신이 여기서 무엇을하려고하는지 잘 모르겠습니다. fd는 열려있는 파일에 대한 세부 정보가 들어있는 테이블의 인덱스입니다. 파이프를 다른 프로세스에 전달하면 동일한 메모리 공간을 공유하지 않는 한 해당 프로세스에 액세스 할 수 없습니다. (파이프의 양쪽 끝이 같은 프로세스에 있습니다.) –
나는 그들이 파일에서 모든 데이터를 수동으로'읽는 '것이 아니라 파이프에 다시 데이터를 쓰는'쓰기 '작업없이, 그들이 열고있는 파일의 모든 데이터를 자동으로 가져 와서 파이프로 전달합니다. – Xymostech