c++小技巧

  1. 获取整数最后的设置位

    int a;
    a &= -a;
  2. 读取文件写入文件

    ```
    #include<fstream>
    //读文件
    ifstream ifile("文件路径");
    ifile>>data;
    ifile.close();
    //写文件
    ofstream ofile("文件路径");
    ofile<<data;
    ofile.close();
    ```
    
  3. 使用正则表达式搜索文件中所有匹配字符串,并输出到指定文件

    
    #include<fstream>
    
    
    #include<iostream>
    
    
    #include<regex>
    
    
    #include<string>
    
    using namespace std;
    /*
    查找数据文件中满足指定正则表达式的字符串,并提取其中的数据。
    参考:
    1. https://blog.csdn.net/mycwq/article/details/18838151 c++正则表达式使用
    2. https://blog.csdn.net/yingxunren/article/details/3968800 const char 区别
    */
    int main(int argc,char *argv[]) {
        string str;
        int n = 0;
        try {
            string ifile1, ifile2;
            char data[500];
            smatch sm;
            //将路径名/变为//
            regex e("\\\\");/*正则表达式为\\但编译时也需要\,所以为\\\\*/
            string fmt("\\\\");
            regex e1("(aggrb=)(\\d+)(KB/s)");/*正则表达式为\d,但编译时需要,所以为\\d*/
            cout << "请输入数据文件和输出文件" << endl;
            cin >> ifile1 >> ifile2;
            regex_replace(ifile1, e, fmt);
            ifstream ifile(ifile1);
            regex_replace(ifile2, e, fmt);
            ofstream ofile(ifile2);
    
            while (ifile.getline(data,400)) {
                string str(data);
                if (regex_search(str, sm, e1)) {
                    n++;
                    ofile << sm[2] << '\t';//制表符输出,可直接粘贴在excel中
                    cout << sm[2]<<'\t';
                    if (n % 10== 0) {
                        ofile << endl;
                        cout << endl;
                    }
                }
            }
            ifile.close();
            ofile.close();
        }catch (const std::regex_error& e) {
            cout << "regex_error caught: " << e.what() << '\n';
            if (e.code() == std::regex_constants::error_brack) {
                std::cout << "The code was error_brack\n";
            }
        }
    }
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hujinglovekmg/article/details/78646146
个人分类: c++算法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭