파일을 기록하고 다시 지울 수 있는 방법이 있을까요?

mywin의 이미지

#include <cstdio>
int main() {
	FILE* fp=fopen("file","w");
	fseek(fp,-1,SEEK_END)l
	fputc("e",fp);
	fseek(fp,-1,SEEK_CUR);
	//여기서 기록된 e문자를 어떻게 지우나요
 
	fclose(fp);
	return 0;
}

pynoos의 이미지

덮어 쓰는 수 밖엔 없습니다. 만약 지운다는 것이 그 다음 내용을 모두 앞으로 끌어 당기는 의미라면, 그 뒤의 내용도 다 다시 써야합니다.

혹은 ftruncate( fileno(fp), 0 ) 이런 류로 파일을 0 사이즈로 만드는 것을 원하실 수도 있겠군요.

mywin의 이미지

지금 봤습니다. 집에 돌아가서 한 번 목적에 맞게 사용해보겠습니다. 새해 복 많이 받으세요. 정말 감사드립니다.
그런데 자꾸 질문 드리게 되네요. 문자인코딩에서 UCS-2인 파일을 UTF-16으로 간주하고 변환을 시도해도 될까요?

iconv -c -f UTF-16 -t UTF-8 ucs-2file>transfile

ucs-2file의 문자 인코딩이 usc2라면 말입니다. usc2가 utf16에 포함된다고 하니 되겠죠? 확신이 안섭니다.

안개 걷히고 구름 걷히면 빛이 내려 않는다.

pynoos의 이미지

BE, LE 만 잘 맞추면 됩니다. code 값이 0 ~ 0xffff 사이가 대부분일테니까요.