может так?
fprintf(stm, "%S", l);
ну и локаль там кошерную выставить перед этим.
Доброго времени суток.
Подскажите пожалуйста, как можно исправить такое.
получаем BSTR
пишем его в файл
хекс дамп:
59 00 71 00 61 00 70
......
...
MSHTML::IHTMLDocument2Ptr pDoc(GetHtmlDocument());
MSHTML::IHTMLElementPtr e(pDoc->Getall()->item
(_T("")));
BSTR p;
e = pDoc->Getbody();
e->get_tagName(&p);
FILE *stm;
if( !(stm = fopen( "c:\\ann.xml", "w+" )) == NULL )
{
fwrite(l,sizeof(BSTR),SysStringLen(l),stm);
fclose(stm);
}
Подскажите пожалуйста как можно сделать чтобы писалось в файл обычным char при этом приведя в нормальный вид строку, без 00 и без слияний строк
(исходный код может быть много строчным разделённым \r\n, а сейчас пишет всё в одну строчку)
причем идёт еще какое-то дописывание лишнего кода, примерно в два раза больше нормы, видимо где-то я замудрил
Поправочка:
MSHTML::IHTMLDocument2Ptr pDoc(GetHtmlDocument());
MSHTML::IHTMLElementPtr e(pDoc->Getall()->item
(_T("")));
BSTR l;
e = pDoc->Getbody();
e->get_innerHTML(&l);
FILE *stm;
if( !(stm = fopen( "c:\\ann.xml", "w+" )) == NULL )
{
fwrite(l,sizeof(BSTR),SysStringLen(l),stm);
fclose(stm);
}
Здравствуйте, evjiii, Вы писали:
E>может так?
E>E> fprintf(stm, "%S", l);
E>
ну и локаль там кошерную выставить перед этим.
деёствительно .. отработало

только вот осталось один момент исправить.
это много тсрчоие

сейчас всё отлично, и без лишних переменных,
но в одну строчку.
и я смотрю там пробелы вместо \r\n
как то это можно исправить?