建了一个对话框: 
static WCHAR lpszFilter[] = L"岩性描述数据文件 (*.txt) ¦*.txt ¦" 
                        L"All Files(*.*) ¦*.* ¦"; 
CFileDialog dlg(TRUE,L"txt",L"test.txt",OFN_HIDEREADONLY,lpszFilter); 
dlg.DoModal() 
这样出来一个能选择文件的对话框, 
现有一个hh.txt文档 
格式: 
14.468 19 5 
15.411 19 3 
15.639 22 3 
14.811 25 1 
同一行中的三个数据是用Tab分开
请问怎么做才能使hh.txt文档中的数据读入程序中,每个数据顺序放入数组中,后面要调用这些数据
怎样做急求

解决方案 »

  1.   


    #include <cstdio>int main()
    {
    char filename[] = "1.txt";
    FILE *fp;
    if((fp = fopen(filename,"r")) == NULL)
    {
    printf("error!");
    return -1;
    }
        
    while (!feof(fp))
    {
    float fData = 0;
    int iData1 = 0, iData2 = 0;
    fscanf(fp, "%f", &fData);
    fscanf(fp, "%d", &iData1);
    fscanf(fp, "%d", &iData2);
    printf("%f %d %d\n", fData, iData1, iData2);
    //这里面你再把上面得到的数据存入你自己定义的数组中就可以了
    }
    fclose(fp);
    return 0;
    }14.468000 19 5
    15.411000 19 3
    15.639000 22 3
    14.811000 25 1
    Press any key to continue
      

  2.   

    当然,你选择文件成功后,把文件名传到filename里就可以了
      

  3.   

    CStdio file;
    file.Open(dlg.GetPathName,CFile::modeRead);
    CString sLine;
    BOOL bOK = file.ReadString(sLine);
    while(bOK)
    {
        float f1,f2,f3;
        sscanf(sLine,"%f    %f    %f",&f1,&f2,&f3);
        bOK = file.ReadString(sLine);
    }