因为CString类对长度有限制,当长度达到一定值时就不行了,而我想将一个文件的内容读出来存入一个字符串中,不知还有没有其他的解决办法。
谢谢各位大侠执教!

解决方案 »

  1.   

    请问你知不知道CString最长有多长?
      

  2.   

    是啊 应该你的物理内存(包括虚拟内存)小于CString所允许的最大长度(是0xfffffffe么?)的。
      

  3.   

    GlobalAlloc()分配一块内存,我读语音文件时常这样做
    但需要你的内存有够大空间否则最好分段读出来
      

  4.   

    CStdioFile file;
    if( !file.Open("d:\\1.txt", CFile::modeRead) )
    {
    AfxMessageBox("can not open file!");
    return;
    } CString strLine;
    CStringArray strArr;
    while( file.ReadString(strLine) )
    {
    strArr.Add(strLine);
    }strArr存入的是按行读取的文件的内容
    strArr.GetSize() 得到strArr中的元素个数
    strArr[0] 是第一行的字符串
    strArr[1] 是第二行的字符串