OS : Linux 우분투 버전 18.04
컴파일러 : gcc 7.5
[명세]
이미 존재하는 파일에서 주어진 <오프셋(=0, 1, 2, ...)>에서부터 <데이터>를 덮어쓴다. 덮어쓰기를 할 때 파일의 EOF를 만나면 중단하지 않고 그대로 쓰기를 진행한다. <데이터>는 큰따옴표(“와 ”)로 묶어서 표현한다 (“abc”라고 입력하면 abc가 덮어쓸 데이터를 의미한다).
a.out <오프셋> <데이터> <파일명>
[소스 코드] - overwrite.c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int offset = atoi(argv[1]);
FILE *fp = fopen(argv[3],"r+");
fseek(fp, offset, SEEK_SET); // offset만큼 이동
fputs(argv[2],fp);
fclose(fp);
}
'파일처리' 카테고리의 다른 글
[C언어_파일처리] 오프셋과 바이트 수를 이용해 파일에 있는 값 삭제하기 (delete) (0) | 2022.04.04 |
---|---|
[C언어_파일처리] 파일에서 오프셋을 기준으로 데이터 끼워넣기 (insert) (0) | 2022.04.04 |
[C언어-파일처리] 두 개의 파일 병합하기 (merge) (0) | 2022.04.04 |
[C언어_파일처리] 오프셋, 바이트 수를 기준으로 파일 읽기 (read) (0) | 2022.04.04 |
[C언어_파일처리] 파일 복사하기 (copy) (0) | 2022.04.04 |