如何省略文件中的额外位?

发布于 2024-09-04 03:14:38 字数 865 浏览 2 评论 0原文

我想省略 txt 文件中的额外位。例如 ....ÿ 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();
}

I want to omit extra bit in txt file.eg ....ÿ 0111111110111101100011011010010001 in this string we want to omit extra bit ÿ which is appeared when we save a binary string. Save fun is as follow. please help me.

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();
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蓝颜夕 2024-09-11 03:14:38

当您构造 bitstream 时,将 CFile::typeBinary 传递给 CFile::Open。否则检查是什么创建了 CString (m_B)。您看到的额外字符看起来像字节顺序标记......

Pass CFile::typeBinary to CFile::Open when you construct bitstream. Otherwise check what is creating the CString (m_B). The extra character you are seeing looks like a Byte Order Mark....

白首有我共你 2024-09-11 03:14:38

无效 LFSR_ECDlg::Onsave()
{
这->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); 

}

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);

//insertion//by 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); 

}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文