在MFC中如何从文本文件里循环读取和添加数据:
文本文件存储如下:
adiowe 123
dfew 564
feiowj 458
feftg 458
并将数据存入vector中,还可以将数据添加到现有数据之后。
答案详细点,头文件也要包括。

解决方案 »

  1.   

    我比较喜欢这样做           CStdioFile file; 
    if(0==file.Open(_T("config\\config.ini"), CFile::modeRead))
    {
     MessageBox(_T("找不到配置文件config.ini"));
     return;
    }
    file.ReadString(str);
    file.Close();ReadString就是一行一行的读取到一个CString中去...
      

  2.   

    真正详细的请看ftp://202.106.156.143/uploads/computer/孙鑫C++教程12.rar
    Lesson12:const char *与char * const的区别。C语言对文件读写的支持,FILE指针;文本文件和二进制文件的区别。用文本方式读写文件和以二进制方式读写文件的注意事项。C++对文件读写的支持,ofstream和ifstream的用法。Win32 SDK对文件读写的支持,CreateFile函数、WriteFile函数、ReadFile函数的使用;MFC对文件读写的支持,CFile类和CFileDialog的使用,文件过滤器的设置。win.ini文件和注册表的读写方式及相关知识点。
      

  3.   

    #include <fstream>
    #include <iostream>
    char cfirstline[20];
    ifstream ifs("文件名.txt");
    ifs.getline(cfirstline,20);
    cfirstline中存储的就是第一行的字符,之后就容易了
      

  4.   

    读数据
    #include <iostream.h>
    #include <fstream.h>fstream fc;
    fc.open(strTXTPath, ios::in);//以读方式打开文本
    char buf[20];//缓冲区buf用来存放读出来的一行
    while(!fc.eof())
    {  
      fc.getline(buf, sizeof(buf));//buf内容就是读到的一行
    }
    int m=0;
    while(buf[m]!='\0')
    {
       if(buf[m]!=' ')
      { 
           struser += buf[m];
      }
       if(buf[m]==' '&&buf[m+1]!=' ')
      {
         strpwd += buf[m]}
      }
    }
    struser是某行的第一个数据   strpwd是第二个写数据
    fstream fc;
    fc.open(strTXTPath, ios::out);//以读方式打开文本
    if(!fc)
    {
      abort();
    }
    fc<<" 内容  "<<endl
    fc.close();大概思路是这样,详细的代码根据自己具体的需要编写,给你的只能是思路
      

  5.   

    都没有讲到要点,不是我想要的,我也知道这些函数,但是具体使用举例都不是我想要的结果。
    我是想能够将用户名和密码读取到vector里,而且读的过程如何判断文件结束并能分开存放用户名和密码,还有我是在MFC里使用的,不是控制台,OK?