lseek

    1

    1답변

    나는 다음과 같은 프로그램 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include <sys/stat.h> int main(int argc, char* argv[]) { int fd; char buffer[100]; /

    1

    1답변

    내 목적은 바이너리 파일에서 하나 이상의 부분을 지우는 것입니다. 필요한 부분을 두 번째 파일에 복사 만하면됩니다. 두 가지 방법이 있습니다. 첫 번째 파일은 File1에서 카운트 바이트 (오프셋 건너 뛰기)를 File2에 추가해야합니다. void copyAPart(struct handle* h, off_t skip, off_t count) { stru

    0

    1답변

    정상적인 파일을 열었습니다.이 파일은 레코드 데이터베이스로 사용됩니다. fd = open ("file", O_CREAT | O_APPEND | O_RDWR, 0644); 그런 다음 내 find_record 기능에, 나는 처음으로 오프셋 이동 : 나는 그것을 열었다. ret_val = lseek(fd, 0, SEEK_SET); 그 던지는 것은 ESPI

    0

    2답변

    lseek를 사용하여 txt 파일의 크기를 확인하려고합니다. 불행히도 나는 일하지 않는다. T.Txt에 16 자까지 포함되어 있습니다 : ABCDABCDDABCDABCD 더 이상 없습니다. 그래서 숫자 변수는 16 + 1을 가져야합니다. 19 대신 왜? 두 번째 문제는 내가 왜 SEEK_END-1을 사용하여 마지막 위치 -1에서 시작할 수 없습니까? 나는

    1

    1답변

    lseek()만을 사용하여 오프셋 커서가 현재 EOF에 있는지 어떻게 알 수 있습니까?

    1

    2답변

    tail (posix 시스템 호출) 버전을 구현해야했습니다. 나는 lseek과 pread을 사용하여 그것을했다. (필자는 파일의 끝에 도달 한 다음 올바른 오프셋 위치를 검색 한 다음이 위치에서 프리드로 읽은 다음 파일의 끝까지 stdout에 씁니다). 하지만 이제는 lseek없이 꼬리의 다른 버전을 구현해야합니다. 질문은 다음과 같습니다 : "파일이 ls

    2

    1답변

    사용자 지정 하드웨어 용 SPI 드라이버를 구현하려고합니다. 필자는 필요한 거의 모든 것을 지원하는 spidev 드라이버의 복사본을 가지고 시작했습니다. 우리는 명령 비트 (읽기/쓰기)와 임의의 양의 데이터를 갖는 프로토콜을 사용합니다. 간단히 말해서 lseek 기능을 추가하는 것이 최선의 방법이라고 생각했습니다. 원하는 주소로 "Seek"한 다음 바이트

    0

    1답변

    소켓 응용 프로그램에서 lseek를 사용하여 패킷이 떨어지는 경우 파일 위치를 변경 한 다음 삭제 된 패킷을 다시 전송합니다. 그래서 파일 위치를 여러 번 변경하고 위치 관련 매개 변수를 올바르게 설정하고 있다고 확신합니다. 클라이언트 측에서도 동일한 파일 크기를 얻고 있습니다. 그러나 파일 위치를 변경할수록 전송 된 파일을 열 수 없습니다. 그 이유는 무

    0

    2답변

    open, read, write, close, lseek와 같은 기본 기능을 사용하여 파일의 마지막 다섯 줄을 인쇄하는 C 프로그램을 작성해야합니다. 지금까지까지 사용한 코드 : int main(int argc, char *argv[]){ int fd1=open(argv[1], O_RDONLY); char c; int currPo

    0

    1답변

    int main(int argc, char *argv[]) { int i, j, count; int f1; char buf[16]; f1 = open(argv[1], O_RDWR | O_APPEND); if(f1 == -1) perror("open failed"); if(lseek(f1, 0, SEEK_SET) == -1)