|
typedef struct {
char 상품명[40];
char 홀명[20];
char 구분[1];
}aa_t;
aa_t bb;
int pos=몇번째레코드*sizeof(aa_t);
fp=fopen("file","w+b");
fseek(fp,pos,0);
fread(fp,&bb,sizeof(aa_t),1);
bb.구분을 1로 바꿈 //알아서바꾸세요
fseek(fp,pos,0);
fwrite(fp,&bb,sizeof(aa_t),1);
fclose(fp);
대충 옛날기억을 되살려서 보편적인 방법일듯...틀릴지도 모르지만 윤곽만 참고하세요...
시후 님이 쓰신 글 :
: 최보현님 잘 이해가 안가거든요...수고스러우시더라도 예제문이라도 올려 주심 감사하겠습니다.
: 님이 말씀하신 뜻은 알겠는데..바이너리 모드로 오픈해서 덮어 쓴다면 제가 원하는 위치의 값만 바뀌는 건가요..
:
:
: 최보현.U&I 님이 쓰신 글 :
: : 시후 님이 쓰신 글 :
: : : 텍스트 파일의 내용이(예를 들어서)...
: : :
: : : 상품코드 상품명 홀명 테이블명 금액 수량 구분
: : : 10101 조니워커블랙(대) 홀1 테이블1 70000 1 0
: : : 10102 발렌타인 홀2 테이블3 60000 1 0
: : :
: : : 이라는 내용이 있을때여...
: : :
: : : 상품코드 10101 의 구분을 1로 치환을 하고 싶은데...
: : :
: : : fp = fopen(디렉토리,"w+"); 로 하면 아예 덮어 써비리구여
: : : fp = fopen(디렉토리,"a+"); 로 하면 새로운 줄에다가 써버리거든요..
: : :
: : : 구분은 플래그로서 어떤 체크를 할려고 하거든요..그래서 0을 1로 치환을 해야하거든요..
: : : 열분 고수님들 답변을 부탁드립니다....
: : :
: :
: : 유앤아이 현지 아빠입니다.
: :
: : 텍스트 파일의 경우 대부분... 치환을 하고자 한다면 읽어 드여서 다시스는 방법 밖에는 없습니다.
: :
: : 단 한 라인의 Byte 수가 같다면 ...
: :
: : 텍스트 파일을 바이러리 모드로 오픈해서 .. 원하는 위치로 파일 포인터를 이동한다음에 ...
: :
: : 기냥 .. 덮어 서버릴수도 있겠습니다.
: :
: : 그럼
|