MFC读写普通文件

版权声明:原创文章,欢迎转载,转载请注明出处 https://blog.csdn.net/li7032/article/details/78727278
    char read[256]={0}; 
    char write[256]={0};    
    int line = 0, spxLen, onePiece, i;
    long poscode = 0; 

    CFile fileR("D:\\123.txt" ,CFile::modeRead);
    CFile fileW("D:\\456.txt" , CFile::modeCreate | CFile::modeWrite);  

    spxLen = fileR.GetLength();
    fileW.Seek(0, CFile::begin);
    fileR.Read(read,10); 

    for (i=0 ;i<8; i++ ){
        if (read[2+i]>= 'A')
            read[2+i] = read[2+i] -'A' + 10;
        else
            read[2+i] = read[2+i] -'0';
        poscode = (poscode<<4) + read[2+i];
    }

    memset(write,0, sizeof(write));
    sprintf_s(write, "设备:0-74,区域:0,终端编号:0x00%08x,开始地址:0x00000000,结束地址:0x%08x,目录长度:0x00000000",
        poscode,spxLen/2);   

    i = strlen(write);
    write[i] = 0xA;    
    fileW.Write(write, (i+1));  
    while(spxLen > 0)
    {
        fileR.Seek(line*2*0x40,CFile::begin);
        //fileW.Seek((line*0x80+12),CFile::current);
        if (spxLen >= 0x80){
            onePiece = 0x80;
            spxLen -= 0x80;
        }
        else{                        
            onePiece = spxLen;
            spxLen = 0;
        }
        sprintf_s(write, "0x%08x", line*0x40);
        write[10] = ':';
        fileR.Read(read,onePiece);
        memcpy(write+11, read, onePiece);
        write[11+onePiece] = 0xA;
        line ++;
        fileW.Write(write, (11+onePiece+1));
    } 
    fileW.Close();


 

 

 

 


 

猜你喜欢

转载自blog.csdn.net/li7032/article/details/78727278
今日推荐