countlines.cpp

来自「stl自带源码」· C++ 代码 · 共 50 行

CPP
50
字号
/* The following code example is taken from the book * "The C++ Standard Library - A Tutorial and Reference" * by Nicolai M. Josuttis, Addison-Wesley, 1999 * * (C) Copyright Nicolai M. Josuttis 1999. * Permission to copy, use, modify, sell and distribute this software * is granted provided this copyright notice appears in all copies. * This software is provided "as is" without express or implied * warranty, and with no claim as to its suitability for any purpose. */#include <iterator>#include <algorithm>#include <fstream>#include <iostream>int countLines (std::istream& in);int main (int argc, char* argv[]){    int count;    if (argc == 1) {       // no argument => count lines of standard input       count = countLines(std::cin);    }    else {       // count number of lines of all files passed as argument       std::ifstream in;       count = 0;       for (int i=1; i<argc; ++i) {           in.open(argv[i]);           if (!in) {               std::cerr << "failed to open " << argv[1] << "\n";           }           else {               count += countLines(in);               in.close();           }       }    }    std::cout << count << std::endl;}int countLines (std::istream& in){    return std::count(std::istreambuf_iterator<char>(in),                      std::istreambuf_iterator<char>(),                      '\n');}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?