解决方案 »

  1.   

    打断点试一下,确认str里面是否有“FW version“?如果没有,那你肯定抓不到软件版本咯。另外,确认下你receiver到的字符确实有传给str变量。
      

  2.   

    receive edit 显示 是有FW version的,在receive edit里面抓。另外,确认下你receiver到的字符确实有传给str变量。 
    这个怎么确认。谢谢!
      

  3.   

    另外Find 函数返回的不是索引吗?m_strReceive是什么类型?
      

  4.   

    断点调试,查看m_strReceive的值
      

  5.   

    m_strReceive ---> CStringCString str=m_strReceive.Find("FW version :");GetDlgItem(IDC_STATIC_version)->SetWindowText(str);谢谢!
    请问有什么 基础的书介绍吗?还是专心先弄懂 一个程序源码
      

  6.   

    请问 MFC Console 抓字符原理是什么?
    恩 字符是一个接着一个接收到的,串行。
    这种从receive edit 里面抓东西 要注意什么呢?receive edit里面看到 有想要抓的东西但是抓不到,我在抓的时候程序还是run?---> 导致抓不到?不懂
      

  7.   

    我给你推荐一个简单高效的WIN32 COMM类,不仅可以用在WIN32项目也可以用在MFC项目里面。
    http://www.cnblogs.com/EdmundDwyane/p/3174308.html
    另外还有包含源码的DEMO
    http://www.cnblogs.com/EdmundDwyane/p/3443074.html注意:文章中的CxComm是早期的名字,最近封装成DLL后,更名为CxSerial 
      

  8.   

    CSting类的.Find()函数不是这样用的,具体请查看帮助。
      

  9.   

    你的问题好像就是从字串中分解所需的值嘛,看看函数说明吧,Find函数返回的是int。
    MSDN:
    CString::Findint Find( TCHAR ch ) const;
    int Find( LPCTSTR lpszSub ) const;
    int Find( TCHAR ch, int nStart ) const;
    int Find( LPCTSTR lpszSub, int nStart ) const;
    返回值:
    返回此CString对象中与需要的子字符串或字符匹配的第一个字符的从零开始的索引;如果没有找到子字符串或字符则返回-1。
    参数:
    ch
        要搜索的单个字符。
    lpszSub
        要搜索的子字符串。
    nStart
        字符串中开始搜索的字符的索引,如果是0,则是从头开始搜索。如果nStart不是0,则位于nStart处的字符不包括在搜索之内。
    pstr
        指向要搜索的字符串的指针。
    说明:
        此成员函数用来在此字符串中搜索子字符串的第一个匹配的字符。函数的重载可以接收单个字符(类似于运行时函数strchr)和字符串(类似于strstr)。//下面演示第一个例子
    // CString::Find(TCHAR ch)
    CString s( "abcdef" );
    ASSERT( s.Find( 'c' ) == 2 );
    ASSERT( s.Find( "de" ) == 3 );
    // 下面演示第二个例子
    // Cstring::Find(TCHAR ch,int nStart)
    Cstring str("The stars are aligned");
    Ing n = str.Find('e',5);
    ASSERT(n == 12)