新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入開發(WinCE)的一些經驗

        嵌入開發(WinCE)的一些經驗

        作者: 時間:2011-02-27 來源:網絡 收藏

        WindowsCE下Unicode和Ansi字符間互相轉換的例子
        縱所周知,WindowsCE下編程99%的問題都和Unicode有關.比如文件編輯,一般都保存為Ansi格式;無線通訊中控制Modem需要發送的AT指令,必須是Ansi格式;網絡通訊中,PC端一般都是Ansi的,為了和PC上協議兼容,在WindowsCE中必須把要發送的一個指令從Unicode 轉換成Ansi格式...等等.很多初學者對于這些問題總是感到很麻煩.其實WindowsCE中有標準的API實現了Unicode和Ansi字符間的互轉.下面就是網絡通訊中的程序片斷.
        m_psocket是指向一個從CCeSocket派生的類,如果沒有連接的話其為NULL;
        m_snd是要發送的CString,和一個EDIT相對應.
        /發送函數片斷
        void CClient1Dlg::OnButtonSend()
        {
        / TODO: Add your control notification handler code here
        if (!m_psocket) /無Socket連接,退出
        {
        MessageBox(TEXT("無連接!"),TEXT("信息"));
        return;
        }
        UpdateData(TRUE); /保存輸入的字符串到m_snd
        unsigned char buf[129]; /發送緩沖區
        ZeroMemory(buf,sizeof(buf)); /緩沖區清零
        CString tmpstr(m_snd); /復制要發送的字符串
        int multibytelen=WideCharToMultiByte( /計算從Unicode轉換到Ansi后需要的字節數
        CP_ACP, /根據ANSI code page轉換
        WC_COMPOSITECHECK | WC_DEFAULTCHAR, /轉換出錯用缺省字符代替
        tmpstr.GetBuffer(m_snd.GetLength()), /要轉換的字符串地址
        m_snd.GetLength(), /要轉換的個數
        0, /轉換后字符串放置的地址
        0, /最多轉換字符的個數,為0表示返回轉換Unicode后需要多少個字節
        0, /缺省的字符:"

        主站蜘蛛池模板: 成武县| 广南县| 阜宁县| 洛川县| 堆龙德庆县| 穆棱市| 皋兰县| 平果县| 武隆县| 泗洪县| 内丘县| 于都县| 眉山市| 廊坊市| 通渭县| 邻水| 逊克县| 明水县| 资源县| 宜城市| 应城市| 白朗县| 浏阳市| 应用必备| 施甸县| 永和县| 永川市| 大安市| 苍梧县| 三穗县| 皮山县| 汉川市| 上蔡县| 堆龙德庆县| 宿迁市| 曲阳县| 江城| 保山市| 祁阳县| 旬阳县| 定安县|