как опустить лишние биты в файле? - PullRequest
0 голосов
/ 07 июня 2010

Я хочу опустить дополнительный бит в txt file.eg .... ÿ 0111111110111101100011011010010001 в этой строке мы хотим опустить дополнительный бит ÿ, который появляется при сохранении двоичной строки. Сохранить веселье, как следует. пожалуйста, помогите мне.

void LFSR_ECDlg::Onsave() 
{
    this->UpdateData();

    CFile bitstream;
    char strFilter[] = { "Stream Records (*.mpl)|*.mpl| (*.pis)|*.pis|All Files (*.*)|*.*||" };

    CFileDialog FileDlg(FALSE, ".mpl", NULL, 0, strFilter);



    if( FileDlg.DoModal() == IDOK )
    {
        if( bitstream.Open(FileDlg.GetFileName(), CFile::modeCreate | CFile::modeWrite) == FALSE )
            return;
        CArchive ar(&bitstream, CArchive::store);


        CString txt;
        txt="";
        txt.Format("%s",m_B);//by ANO
        AfxMessageBox (txt);//by ANO
        txt=m_B;//by ANO
        ar <<txt;//by ANO

        ar.Close();
    }
    else
        return;

    bitstream.Close();
}

Ответы [ 2 ]

0 голосов
/ 07 июня 2010

void LFSR_ECDlg :: Onsave () { this-> UpdateData ();

CFile bitstream;
char strFilter[] = { "Stream Records (*.mpl)|*.mpl| (*.pis)|*.pis|All Files (*.*)|*.*||" };

CFileDialog FileDlg(FALSE, ".mpl", NULL, 0, strFilter);

// вставка // по TTT

CFile cf_object;
if( FileDlg.DoModal() == IDOK ){
cf_object.Open( FileDlg.GetFileName(), CFile::modeCreate|CFile::modeWrite);
//char szText[100];
//strcpy(szText, "File Write Test");
    CString txt;
    txt="";
    txt.Format("%s",m_B);//by ANO
    AfxMessageBox (txt);//by ANO
int mB_size=m_B.GetLength();
cf_object.Write (m_B,mB_size); 

}

0 голосов
/ 07 июня 2010

Передайте CFile::typeBinary в CFile::Open при построении bitstream.В противном случае проверьте, что создает CString (m_B).Дополнительный символ, который вы видите, выглядит как знак порядка байтов ....

...