Bonjour,

J'aurais aimé savoir si après chaque lecture sur un flux (au moins en debug, et encore que) vous testiez la validité du flux ou pas du tout?

Par exemple le code ci-dessous j'effectue le test à la ligne 19:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <fstream>
#include <stdexcept>
#include <vector>
 
int main()
{
    try
    {
        std::ifstream file("test", std::ios::in | std::ios::binary);
 
        if(!file)
            throw std::runtime_error("Open");
 
        std::vector<char> r(10);
 
        file.read(&r[0], 10);
 
        if(!file)
            throw std::runtime_error("Read");
 
        for(auto &x : r)
            std::cout << x << std::endl;
 
        return 0;
    }
 
    catch(const std::exception &e)
    {
        std::cout << "Error: " << e.what() << std::endl;
    }
}
Si le fichier "test" ne contient pas suffisamment de données je me retrouve dans un comportement indéterminé.

Merci d'avance!