http://community.csdn.net/Expert/topic/3696/3696777.xml?temp=.8820764
void CJsDlg::OnButton1() 
{
double m_a,ma;
CString s=L"\r\n";
CFile afile;
CStdioFile myfile(FilePathName,CFile::modeRead);;

afile.Open("e:\\a.txt",CFile::modeCreate|CFile::modeReadWrite);
CString str,a1,a2;
int i=0;
while(myfile.ReadString(str))
{
str.TrimLeft();    
    str.TrimRight();
    m_a=atof(str); if(m_a>=0&&m_a<=1)
{
       if(m_a<=1&&m_a>0.6)
   {ma=1;}
   if(m_a<=0.6&&m_a<=0.3)
   {ma=(m_a-0.3)/0.3;}
   if(m_a<0.3&&m_a>=0)
   {ma=0;}
    a1.Format("%f",ma);     afile.Write(a1,a1.GetLength());      afile.Write(s,2);
}

    i++;

afile.Close();
/////////////////
}
着是我程序的全部
为什么afile.Write(a1,a1.GetLength());输出都是0

解决方案 »

  1.   

    如果可以的话,可以将程序源代码发到:[email protected]
    我帮你看看!注明帖子的URL!
      

  2.   

    if(m_a<=0.6&&m_a<=0.3) 这一句不对吧?
    看不懂这句有什么用
      

  3.   

    看看你的m_a=atof(str);后m_a是不是等于0??如果是一串字符那m_a就等于0
      

  4.   

    一步步跟啊,应该好调的,看看第步ma m_a的值。
      

  5.   

    if(m_a<=0.6&&m_a<=0.3)
    应该是:
    if(m_a<=0.6&&m_a>=0.3)
      

  6.   

    你在a.txt里边是什么内容?如果什么内容都没有,那肯定是0了
      

  7.   

    myfile.ReadString(str)这里边的Myfile内容是什么?把你的程序法到我得油箱:[email protected]
      

  8.   

    debug跟一下吧
    看看a1得值是什么,特别是a1的长度
      

  9.   

    void CJsDlg::OnButton1() 
    {
    double m_a,ma;
    CString s=L"\r\n";
    CFile afile;
    CStdioFile myfile(FilePathName,CFile::modeRead);;

    afile.Open("e:\\a.txt",CFile::modeCreate|CFile::modeReadWrite);
    CString str,a1,a2;
    int i=0;
    while(myfile.ReadString(str))
    {
    str.TrimLeft();    
        str.TrimRight();
        m_a=atof(str); if(m_a>=0&&m_a<=1)
    {
           if(m_a<=1&&m_a>0.6)
       {ma=1;}
       if(m_a<=0.6&&m_a<=0.3)
       {ma=(m_a-0.3)/0.3;}
       if(m_a<0.3&&m_a>=0)
       {ma=0;}
        a1.Format("%f",ma);     afile.Write(a1,a1.GetLength());      afile.Write(s,2);
    }

        i++;

    afile.Close();
    /////////////////
    }
    我用你的代码试了一下没问题。
    源文件:
    0.23
    0
    0.2
    0.4
    0.8
    0.4
    0
    0
    0
    0
    0
    0
    0
    0
    0.2
    0.3
    0.2
    0.2
    0.7
    0.9
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0.2
    0.3
    0.5
    0.4
    0.6
    0.6
    a.txt:
    0.000000
    0.000000
    0.000000
    0.000000
    1.000000
    1.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    1.000000
    1.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000
    0.000000