我想寫一個WCHAR陣列在C文件,但有某種類似變量和路徑這樣的fwrite()和文件損壞
c.:.\.p.r.o.g.r.a.m. .f.i.l.e.s.\.m.i.c.r.o.s.o.f.t. .v.i.s.u.a.l. .s.t.u.d.i.o. 1.0...0.\.v.c.\.i.n.c.l.u.d.e.\.x.s.t.r.i.n.g..l.i.s.t...i.n.s.e.r.t
腐敗和unrelevant數據上都寫着以及正確的數據(example)我已經確認緩衝區是空終止的並且包含正確的數據。
繼承人我的代碼:
myfile = fopen("logs.txt","ab+");
fseek(myfile,0,SEEK_END);
long int size = ftell(myfile);
fseek(myfile,0,SEEK_SET);
if (size == 0)
{
wchar_t bom_mark = 0xFFFE;
size_t written = fwrite(&bom_mark,sizeof(wchar_t),1,myfile);
}
// in another func
while (true)
{
[..]
unsigned char Temp[512];
iBytesRcvd = recv(sclient_socket,(char*)&Temp,iSize,NULL);
if(iBytesRcvd > 0)
{
WCHAR* unicode_recv = (WCHAR*)&Temp;
fwrite(unicode_recv,sizeof(WCHAR),wcslen(unicode_recv),myfile);
fflush(myfile);
}
[..]
}
可能是什麼造成的?
你也許令人困惑wchar_t *與UTF-8? – 2012-04-15 17:21:03
@DanielRoethlisberger是的,我可能會,但不知道該怎麼辦,但 – 2012-04-15 17:22:07
@Panayiotis你*期待*寫什麼? – 2012-04-15 17:25:08