파일입출력 특정부분 바꾸기..
아서
질문 제목 : 파일입출력 특정부분 바꾸기..
아래 내용의글에 추가적인 질문인데요...될듯 안될듯해서 다시 질문 드립니다
현재 txt 파일에
01,1
02,2
03,10
..
..
99,3d
이런식의 구조로 100라인이 들어가 있는 텍스트 파일인데요
앞의수는 번호순서이고, 뒤의 번호는 unsigned char 값(0~ff)까지의 값이 들어가 있습니다.
지금 소스에서는
fopen()
p = fgets(buf, sizeof(buf), pfile); --한라인의 정보(01,10)을 얻오오구요
변경하고 싶은 부분이 ,뒤에 있는 unsigned char값이기때문에
fseek(pfile, 3, seek_cur); 을 이용해서 위치를 3칸앞으로 옮기고
fprintf(pfile, %x, data); //data에는 임의로 255값을 넣음, 이용하여 write를 하고
fseek(pfile, -3, seek_cur); 다시 원위치
이후 txt 파일을 열어보면
=============================
00,7
01,ff
02,ff
03,ff■04,ff■05,ff■06,ff■07,ff
08,ff
09,ff
....
==============================
이렇게 써잇더라구요
■ : 이게 엔터구문 같은데 두자리수의 값이 들어있는 부분에서 ■모양이 나옵니다.
텍스트 내용을 여기 내용에 붙여넣기 하니깐 ■모양없이
정상적으로 동작된것 처럼안나오는데 제가 열어본 결과 텍스트파일에는 ■모양이 생기더라구여;;
이걸 안나오게 할수 있을까요? 소스부분중에 잘못된 부분이 있는건가요?
-
해사랑해
원래 파일에 2글자였는데 그 자리에 3글자를 써넣어도 워드처럼 뒤로 쫙 한칸씩 자동으로 밀리는게 아닙니다.
무조건 덮어쓰기 때문에, 뒤쪽의 데이터를 한칸씩 밀어주는것도 프로그램으로 처리해야합니다.