TD 14 C++: Entrées/Sorties

Rappels


Exercice 1: file I/O

  1. Écrivez un programme 1.1.cc (avec un main()) qui compte le nombre de lignes d'un fichier texte, dont le nom sera donné en argument du programme. Il affichera ce nombre dans stdout.
    Indices: ifstream et getline pour lire un fichier (cherchez sur cppreference.com), int main(int argc, char** argv) pour récupérer les arguments du programme.

    Testez votre code:
    rm 1.tar.gz; wget --no-cache http://fabien.viger.free.fr/cpp/td14/1.tar.gz
    tar xf 1.tar.gz
    make 1.1
    RENDU: 1.1.cc

  2. De même, écrivez un programme 1.2.cc qui affiche (dans stdout) les N premières lignes d'un fichier texte. Le programme prendra le nom du fichier en 1er argument et le nombre N en 2ème argument.

    Test: make 1.2
    RENDU: 1.2.cc

  3. De même, écrivez un programme 1.3.cc qui réduit un fichier donné à ses N dernières lignes.
    Exemple pour N=3: un fichier contenant:
    Hello
    World
    This is a
    simple

    text file

    ne contiendra, après ce programme, plus que:
    simple

    text file

    Attention! votre code ne devra pas prendre plus de mémoire que le contenu des N dernières lignes!
    Le test le verifiera.

    Test: make 1.3
    RENDU: 1.3.cc