나는 다음과 같은 프로그램 #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];
/
내 목적은 바이너리 파일에서 하나 이상의 부분을 지우는 것입니다. 필요한 부분을 두 번째 파일에 복사 만하면됩니다. 두 가지 방법이 있습니다. 첫 번째 파일은 File1에서 카운트 바이트 (오프셋 건너 뛰기)를 File2에 추가해야합니다. void copyAPart(struct handle* h, off_t skip, off_t count) {
stru
정상적인 파일을 열었습니다.이 파일은 레코드 데이터베이스로 사용됩니다. fd = open ("file", O_CREAT | O_APPEND | O_RDWR, 0644);
그런 다음 내 find_record 기능에, 나는 처음으로 오프셋 이동 : 나는 그것을 열었다. ret_val = lseek(fd, 0, SEEK_SET);
그 던지는 것은 ESPI
lseek를 사용하여 txt 파일의 크기를 확인하려고합니다. 불행히도 나는 일하지 않는다. T.Txt에 16 자까지 포함되어 있습니다 : ABCDABCDDABCDABCD 더 이상 없습니다. 그래서 숫자 변수는 16 + 1을 가져야합니다. 19 대신 왜? 두 번째 문제는 내가 왜 SEEK_END-1을 사용하여 마지막 위치 -1에서 시작할 수 없습니까? 나는
tail (posix 시스템 호출) 버전을 구현해야했습니다. 나는 lseek과 pread을 사용하여 그것을했다. (필자는 파일의 끝에 도달 한 다음 올바른 오프셋 위치를 검색 한 다음이 위치에서 프리드로 읽은 다음 파일의 끝까지 stdout에 씁니다). 하지만 이제는 lseek없이 꼬리의 다른 버전을 구현해야합니다. 질문은 다음과 같습니다 : "파일이 ls
사용자 지정 하드웨어 용 SPI 드라이버를 구현하려고합니다. 필자는 필요한 거의 모든 것을 지원하는 spidev 드라이버의 복사본을 가지고 시작했습니다. 우리는 명령 비트 (읽기/쓰기)와 임의의 양의 데이터를 갖는 프로토콜을 사용합니다. 간단히 말해서 lseek 기능을 추가하는 것이 최선의 방법이라고 생각했습니다. 원하는 주소로 "Seek"한 다음 바이트
소켓 응용 프로그램에서 lseek를 사용하여 패킷이 떨어지는 경우 파일 위치를 변경 한 다음 삭제 된 패킷을 다시 전송합니다. 그래서 파일 위치를 여러 번 변경하고 위치 관련 매개 변수를 올바르게 설정하고 있다고 확신합니다. 클라이언트 측에서도 동일한 파일 크기를 얻고 있습니다. 그러나 파일 위치를 변경할수록 전송 된 파일을 열 수 없습니다. 그 이유는 무
open, read, write, close, lseek와 같은 기본 기능을 사용하여 파일의 마지막 다섯 줄을 인쇄하는 C 프로그램을 작성해야합니다. 지금까지까지 사용한 코드 : int main(int argc, char *argv[]){
int fd1=open(argv[1], O_RDONLY);
char c;
int currPo