0
파일 설명자가 있습니다. 이제 워드 프로세서 교체 모드에서와 같이 원본 데이터의 n 바이트를 대체하여 해당 파일에 n 바이트를 쓰고 싶습니다 (전체 파일 크기가 변경되지 않도록). 이를 달성하기위한 편리한 방법은 무엇입니까?동일한 길이의 원래 데이터를 대체하는 fd에 쓰는 방법은 무엇입니까?
파일 설명자가 있습니다. 이제 워드 프로세서 교체 모드에서와 같이 원본 데이터의 n 바이트를 대체하여 해당 파일에 n 바이트를 쓰고 싶습니다 (전체 파일 크기가 변경되지 않도록). 이를 달성하기위한 편리한 방법은 무엇입니까?동일한 길이의 원래 데이터를 대체하는 fd에 쓰는 방법은 무엇입니까?
fd에 단지 write
. 이전에 올바른 위치 인 read
또는 lseek
또는 lseek64
이 올바른 위치로 바로 이동해야 할 수 있습니다.
fd가 쓰기 가능해야합니다. 이를 확인하려면 open
을 확인해야합니다. open
은 O_WRONLY
또는 O_RDWR
과 같이 호출해야하지만 O_TRUNC
없이는 파일을 길이가 0으로 절단해야합니다.
참고 : write
은 파일 끝에 쓰는 경우 파일 크기 만 변경 (증가)합니다. 파일에 바로 쓰는 경우 크기가 변경되지 않습니다.
읽기/쓰기 모드에서 파일을 열려면'open'을, 읽기 후에는 파일 포인터를 되감 으려고 'seek'하고,'read'와'write' 호출을보십시오. –