• 批量处理文件


     1 #include <iostream>
     2 #include <fstream>
     3 #include <cstdlib>
     4 
     5 using std::cout;
     6 using std::endl;
     7 using std::fstream;
     8 using std::string;
     9 
    10 int main(int argc, char **argv)
    11 {
    12     //创建文件名列表文件,若存在则清空文件
    13     fstream file_list("file_list.txt",std::ios::out);
    14     file_list.close();
    15 
    16     //写入文件名列表到file_list.txt
    17     system("dir /a /b >> file_list.txt");
    18     
    19     long sum_code = 0;
    20     fstream code_file;
    21     file_list.open("file_list.txt", std::ios::in);
    22     string str_line = "";
    23     string t_str = "";
    24     unsigned int loc = 0;//查找文件名中的"."
    25     string str_last = "";
    26     
    27     while (!file_list.eof())
    28     {
    29         getline(file_list,str_line);
    30         loc = str_line.find(".",0);//从0开始查找"."出现的位置
    31 //        cout << "loc = " << loc << endl;
    32         if (loc != string::npos)
    33         {
    34             str_last = str_line.substr(loc);
    35 //            cout << "str_last = " << str_last << endl;
    36         }
    37         else
    38         {
    39             continue;
    40         }
    41         
    42         if (str_last.compare(".h") == 0
    43         || str_last.compare(".c") == 0
    44         || str_last.compare(".cpp") == 0)
    45         {
    46             code_file.open(str_line.c_str(),std::ios::in);
    47             cout << "文件名 : " << str_line << endl;
    48         }
    49         else
    50         {
    51             continue;
    52         }
    53         
    54         //读文件行数
    55         while (!code_file.eof())
    56         {
    57             getline(code_file,t_str);
    58             cout << t_str << endl;
    59             sum_code++;
    60         }
    61         code_file.close();
    62         cout << endl;
    63     }
    64     file_list.close();
    65     
    66     cout << "代码行数:" << sum_code << endl;
    67     system("pause");
    68 
    69     return 0;
    70 }
  • 相关阅读:
    Pandas缺失值处理
    文件读取与存储
    DataFrame运算
    C++11 不抛异常的new operator
    In p = new Fred(), does the Fred memory “leak” if the Fred constructor throws an exception?
    method chaining
    C++中的运算符重载
    Why am I getting an error converting a Foo** → const Foo**?
    The constness of a method should makes sense from outside the object
    Virtual Friend Function
  • 原文地址:https://www.cnblogs.com/wangchao-hhu/p/6208194.html
Copyright © 2020-2023  润新知