파일의 중간부분만 변경하고자 한다면...

hwandori의 이미지

struct st
{
int a;
int b;
char c[16];
} temp[10];

이 구조체를 파일에 fwrite 함수를 사용해 바이너리로 저장한 파일이있는데

이 temp 배열의 4번째만 수정하고 싶으면 다시 다읽어서 쓰는 방법말고

4번째 배열만 덮어쓰는 방법이 있나요?? fopen의 어떤 옵션으로 하는지..

"w" 는 지워버리고 , "a"는 뒤에밖에 안되는거 같은데요...답변 부탁드립니다.

vinus의 이미지

O_RDWR

lseek()
write()
자세한 사항은 man 2 open,
man 2 lseek

해보세요.

저구조체가 한파일 전체를 나타 낸다면, 그냥 새로 만들어도
별상관 없어 보입니다만...

>>>행복한 웃음<<<

alwaysN00b의 이미지