c++ 读取文件 保存文件

void Position_Detect::savefile(vector > contours, string filepath) {
    std::ofstream outFile;
    //打开文件
    outFile.open(filepath,ios::binary);
    for (int i = 0; i < contours.size(); ++i)
    {
        for (int j = 0; j < contours[i].size(); ++j) {
            outFile << contours[i][j];
            outFile << "\n";
        }
        //写入数据
        
    }
    //关闭文件
    outFile.close();
}
void Position_Detect::readfile(string featurepath, vector &contourPoints)
{
    ifstream ifs;
    ifs.open(featurepath, ios::in);

    if (!ifs.is_open()) {
        cout << "feature files not found ,please input right image to  recover!" << endl;
    }
    string buf;
    while (getline(ifs, buf))
    {
        Point temp;
        split(buf, temp);
        contourPoints.push_back(temp);
    }
    //cout << "read success, next compare contour..." << endl;
}
void Position_Detect::split(string point_str, Point &point_inf) {
    int comma_index = -1;
    
    //获取逗号索引
    for (int i = 0; i < point_str.size(); ++i) {
        if (int(point_str[i] == 44)) {
            comma_index = i;
            break;
        }
    }
    if (comma_index == -1) {
        cout << "error data ,need use save_origin_feature to restore !" << endl;
    }
    point_inf.x = stoi(point_str.substr(1, comma_index - 1));
    point_inf.y = stoi(point_str.substr(comma_index + 2, point_str.size() - comma_index - 3));
}

 

你可能感兴趣的:(c++进阶,c++,开发语言)