DTC

//.h

#pragma once
#include <iostream>
#include <string>
#include <vector>
#include <fstream>

using namespace std;

class mycdt
{
public:
    mycdt();
    ~mycdt();

    void readFile();
    void inputStr();
    void writeFile();
    void selectStr();


private:
    string str;
    vector<string> readtext;
    vector<string> writetext;

};

mycdt::mycdt()
{
    str = '$';
}

mycdt::~mycdt()
{
}

void mycdt::readFile()
{
    ifstream read;
    read.open("T700cdt.txt", ios::in);
    if (!read)
    {
        cout << "文件打开失败!";
    }

    string temp;
    while (getline(read, temp))
    {
        readtext.push_back(temp);
    }

    read.close();

}

void mycdt::inputStr()
{
    cout << "输入过滤的编号:";
    cin >> str;
}

void mycdt::selectStr()
{
    for (unsigned int i = 0; i < readtext.size(); i++)
    {
        string::size_type flag = readtext[i].find(str);
        if (flag != string::npos)
        {
            writetext.push_back(readtext[i]);
        }
    }



    for (unsigned int i = 0; i < writetext.size(); i++)
    {
        char ch = writetext[i][17];


        switch (ch)
        {
        case '0':
            writetext[i].replace(30, 2, "P0");
            writetext[i].insert(15, "   ");
            writetext[i].erase(20, 3);
            writetext[i].erase(22, 3);
            writetext[i].replace(32, 1, "   \"");
            break;
        case '1':
            writetext[i].replace(30, 2, "P1");
            writetext[i].insert(15, "   ");
            writetext[i].erase(20, 3);
            writetext[i].erase(22, 3);
            writetext[i].replace(32, 1, "   \"");
            break;
        case '2':
            writetext[i].replace(30, 2, "P2");
            writetext[i].insert(15, "   ");
            writetext[i].erase(20, 3);
            writetext[i].erase(22, 3);
            writetext[i].replace(32, 1, "   \"");
            break;
        case '3':
            writetext[i].replace(30, 2, "P3");
            writetext[i].insert(15, "   ");
            writetext[i].erase(20, 3);
            writetext[i].erase(22, 3);
            writetext[i].replace(32, 1, "   \"");
            break;
        case '4':
            writetext[i].replace(30, 2, "C0");
            writetext[i].insert(15, "   ");
            writetext[i].erase(20, 3);
            writetext[i].erase(22, 3);
            writetext[i].replace(32, 1, "   \"");
            break;
        case '5':
            writetext[i].replace(30, 2, "C1");
            writetext[i].insert(15, "   ");
            writetext[i].erase(20, 3);
            writetext[i].erase(22, 3);
            writetext[i].replace(32, 1, "   \"");
            break;
        case '6':
            writetext[i].replace(30, 2, "C2");
            writetext[i].insert(15, "   ");
            writetext[i].erase(20, 3);
            writetext[i].erase(22, 3);
            writetext[i].replace(32, 1, "   \"");
            break;
        case '7':
            writetext[i].replace(30, 2, "C3");
            writetext[i].insert(15, "   ");
            writetext[i].erase(20, 3);
            writetext[i].erase(22, 3);
            writetext[i].replace(32, 1, "   \"");
            break;
        case '8':
            if (writetext[i][18] == '0')
            {
                if(writetext[i].find("FF", 27) != 27)
                {
                    switch (writetext[i][22])
                    {
                    case '0':
                        writetext[i].replace(30, 2, "P0");
                        writetext[i].insert(20, "   ");
                        writetext[i].erase(25, 3);
                        writetext[i].replace(33, 3, "   \"");
                        break;
                    case '1':
                        writetext[i].replace(30, 2, "P1");
                        writetext[i].insert(20, "   ");
                        writetext[i].erase(25, 3);
                        writetext[i].replace(33, 3, "   \"");
                        break;
                    case '2':
                        writetext[i].replace(30, 2, "P2");
                        writetext[i].insert(20, "   ");
                        writetext[i].erase(25, 3);
                        writetext[i].replace(33, 3, "   \"");
                        break;
                    case '3':
                        writetext[i].replace(30, 2, "P3");
                        writetext[i].insert(20, "   ");
                        writetext[i].erase(25, 3);
                        writetext[i].replace(33, 3, "   \"");
                        break;
                    case '4':
                        writetext[i].replace(30, 2, "C0");
                        writetext[i].insert(20, "   ");
                        writetext[i].erase(25, 3);
                        writetext[i].replace(33, 3, "   \"");
                        break;
                    case '5':
                        writetext[i].replace(30, 2, "C1");
                        writetext[i].insert(20, "   ");
                        writetext[i].erase(25, 3);
                        writetext[i].replace(33, 3, "   \"");
                        break;
                    case '6':
                        writetext[i].replace(30, 2, "C2");
                        writetext[i].insert(20, "   ");
                        writetext[i].erase(25, 3);
                        writetext[i].replace(33, 3, "   \"");
                        break;
                    case '7':
                        writetext[i].replace(30, 2, "C3");
                        writetext[i].insert(20, "   ");
                        writetext[i].erase(25, 3);
                        writetext[i].replace(33, 3, "   \"");
                        break;
                    case '8':
                        writetext[i].replace(30, 2, "B0");
                        writetext[i].insert(20, "   ");
                        writetext[i].erase(25, 3);
                        writetext[i].replace(33, 3, "   \"");
                        break;
                    case '9':
                        writetext[i].replace(30, 2, "B1");
                        writetext[i].insert(20, "   ");
                        writetext[i].erase(25, 3);
                        writetext[i].replace(33, 3, "   \"");
                        break;
                    case 'A':
                        writetext[i].replace(30, 2, "B2");
                        writetext[i].insert(20, "   ");
                        writetext[i].erase(25, 3);
                        writetext[i].replace(33, 3, "   \"");
                        break;
                    case 'B':
                        writetext[i].replace(30, 2, "B3");
                        writetext[i].insert(20, "   ");
                        writetext[i].erase(25, 3);
                        writetext[i].replace(33, 3, "   \"");
                        break;
                    case 'C':
                        writetext[i].replace(30, 2, "U0");
                        writetext[i].insert(20, "   ");
                        writetext[i].erase(25, 3);
                        writetext[i].replace(33, 3, "   \"");
                        break;
                    case 'D':
                        writetext[i].replace(30, 2, "U1");
                        writetext[i].insert(20, "   ");
                        writetext[i].erase(25, 3);
                        writetext[i].replace(33, 3, "   \"");
                        break;
                    case 'E':
                        writetext[i].replace(30, 2, "U2");
                        writetext[i].insert(20, "   ");
                        writetext[i].erase(25, 3);
                        writetext[i].replace(33, 3, "   \"");
                        break;
                    case 'F':
                        writetext[i].replace(30, 2, "U3");
                        writetext[i].insert(20, "   ");
                        writetext[i].erase(25, 3);
                        writetext[i].replace(33, 3, "   \"");
                        break;
                    default:
                        break;
                    }
                }
                else
                {
                    writetext[i].replace(30, 2, "B0");
                    writetext[i].insert(15, "   ");
                    writetext[i].erase(20, 3);
                    writetext[i].erase(22, 3);
                    writetext[i].replace(32, 1, "   \"");
                }
            }
            else
            {
                writetext[i].replace(30, 2, "B0");
                writetext[i].insert(15, "   ");
                writetext[i].erase(20, 3);
                writetext[i].erase(22, 3);
                writetext[i].replace(32, 1, "   \"");
            }
            break;
        case '9':
            writetext[i].replace(30, 2, "B1");
            writetext[i].insert(15, "   ");
            writetext[i].erase(20, 3);
            writetext[i].erase(22, 3);
            writetext[i].replace(32, 1, "   \"");
            break;
        case 'A':
            writetext[i].replace(30, 2, "B2");
            writetext[i].insert(15, "   ");
            writetext[i].erase(20, 3);
            writetext[i].erase(22, 3);
            writetext[i].replace(32, 1, "   \"");
            break;
        case 'B':
            writetext[i].replace(30, 2, "B3");
            writetext[i].insert(15, "   ");
            writetext[i].erase(20, 3);
            writetext[i].erase(22, 3);
            writetext[i].replace(32, 1, "   \"");
            break;
        case 'C':
            writetext[i].replace(30, 2, "U0");
            writetext[i].insert(15, "   ");
            writetext[i].erase(20, 3);
            writetext[i].erase(22, 3);
            writetext[i].replace(32, 1, "   \"");
            break;
        case 'D':
            writetext[i].replace(30, 2, "U1");
            writetext[i].insert(15, "   ");
            writetext[i].erase(20, 3);
            writetext[i].erase(22, 3);
            writetext[i].replace(32, 1, "   \"");
            break;
        case 'E':
            writetext[i].replace(30, 2, "U2");
            writetext[i].insert(15, "   ");
            writetext[i].erase(20, 3);
            writetext[i].erase(22, 3);
            writetext[i].replace(32, 1, "   \"");
            break;
        case 'F':
            writetext[i].replace(30, 2, "U3");
            writetext[i].insert(15, "   ");
            writetext[i].erase(20, 3);
            writetext[i].erase(22, 3);
            writetext[i].replace(32, 1, "   \"");
            break;

        default:
            break;
        }

    }



}


void mycdt::writeFile()
{
    ofstream write("write.txt", ios::out);

    if (!write)
    {
        cout << "打开文件失败!";
    }
    for (unsigned int i = 0; i < writetext.size(); i++)
    {
        write << writetext[i] << endl;
    }

    write.close();
}

//.c

#include "cdt.h"
#include <iostream>

int main()
{
    mycdt cdt;

    //cdt.inputStr();
    cdt.readFile();
    cdt.selectStr();
    cdt.writeFile();

//  cout << "OK";
//  getchar();
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值