初学vc,问一个较为幼稚的问题:打开某文本文件并按行读取后,假设读出“a=100”这样的数据,想将其中的100赋值给一个int或long类型,应怎样处理?谢谢!代码如下: CStdioFile myFile;
CString ReadFileString;
         int i; if(myFile.Open("C:\\aaa.txt", CFile::modeRead) == TRUE)
{
while(myFile.ReadString(ReadFileString) != FALSE)
{
//假设读出“a=100”这样的数据,想将其中的100赋值给前面声明的变量i
}
}

解决方案 »

  1.   

    ReadFileString = ReadFileString.Right(3);
    int i = 0;
    i = atoi(ReadFileString.GetBuffer());
      

  2.   

    CStdioFile::ReadString()是读取一行信息,你要先解析该行文本信息,找到你要的100,然后通过_ttoi 
    将字符串转成int类型
      

  3.   

    有点像读配置,直接GetPrivateProfileInt吧~~~
    UINT WINAPI GetPrivateProfileInt(
      __in          LPCTSTR lpAppName,
      __in          LPCTSTR lpKeyName,
      __in          INT nDefault,
      __in          LPCTSTR lpFileName
    );
      

  4.   

    CStdioFile::ReadString()是读取一行信息,你要先解析该行文本信息,找到你要的100,然后通过_ttoi  
    将字符串转成int类型如部长所言
      

  5.   

    直接当成INI文件操作,省得费劲
      

  6.   

    ReadFileString = ReadFileString.Right(3);
    int i = 0;
    i = atoi(ReadFileString.GetBuffer());
      

  7.   

    楼主意思是想找 '=' 号后面的内容吗? CString str = "a=12345";
    int iIndex = str.Find(TEXT('='),0);
    str = str.Right(str.GetLength()-iIndex);
      

  8.   


    CString str = "a=12345";
    int iIndex = str.Find(TEXT('='),0);
    str = str.Right(str.GetLength()-iIndex-1);
    int i = _ttoi(str);之前写错了
      

  9.   

    谢谢各位了,我以前也考虑过ini文件,但因为我的这个文件层次结构比较多(我记得ini文件只能加一级[]),而我很少用c++,这种数据类型转换的问题在程序的其他地方也会用到,所以才提出这个问题的
      

  10.   

    使用_ttoi更好,支持ansi和unicode