if((g_lfDataPathFile=fopen(g_lfDataPath,"r"))==NULL)
{
AfxMessageBox("目录信息文件无法打开");
exit(1);//输入输出文件无法打开
}  fscanf(g_lfDataPathFile,"%s",m_sDataFilePath);
  
 fclose(g_lfDataPathFile);           g_sRoughSFilePath = "Rough"+dbParaOne+".txt"+m_sDataFilePath;问题:我的dbParaOne和m_sDataFilePath的值都有了,但是m_sDataFilePath的字符串连接不进去??
      dbParaOne和它前后的字符串倒是可以连接起来。
     怎么回事情啊?      谢谢!!

解决方案 »

  1.   

    你也不把各个变量的类型写清楚,都是CString类型的吗?
      

  2.   

    void CWaitingDlg::StartProcessThread(CString dbParaOne)
    {
        if((g_lfDataPathFile=fopen(g_lfDataPath,"r"))==NULL)
    {
    AfxMessageBox("目录信息文件无法打开");
    exit(1);
    }
     fscanf(g_lfDataPathFile,"%s",m_sDataFilePath);
     fclose(g_lfDataPathFile); 
       
              g_sRoughSFilePath = "Rough"+dbParaOne+".txt"+m_sDataFilePath;      
             //m_sDataFilePath是在类的头文件里定义的CString类型
    }
    我调试的适合dbParaOne和m_sDataFilePath单独显示都是有内容的,但是用+连接的时候,g_sRoughSFilePath 就只能得到"Rough"+dbParaOne+".txt"连接的结果,m_sDataFilePath里面的内容连接不上。
      

  3.   

    g_sRoughSFilePath = "Rough"+dbParaOne+".txt"+m_sDataFilePath;改为
    CString R="Rough";
    CString T=".txt";
    g_sRoughSFilePath = R+dbParaOne+T+m_sDataFilePath;
    试一下。
    应该可以
      

  4.   

    这个方法还是不行。
    我自己解决了:
    那就是在fscanf(g_lfDataPathFile,"%s",m_sDataFilePath);得时候,m_sDataFilePath得到的是char *类型的数据。
    我用CString tempDataFilePath(m_sDataFilePath);转化一下
    用tempDataFilePath来参与+操作就可以了