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
| void foo(/* paramètres éventuels */)
{
std::ios_base::openmode mode=std::ios_base::out;
if( /*conditon demandant d'utiliser le mode binaire */)
{
mode |=std::ios_base::binary;
}
if(/* condition demandant de se placer en fin de fichier */)
{
mode |=std::ios_base::ate;
}
else if (/* condition demandant de considérer le flux comme vide */)
{
/* cette possibilité n'est clairement pas compatible avec la
* possibilité précédente... c'est pourquoi je place ceci
* dans un else if ;)
*/
mode |=std::ios_base::trunk;
}
else if (/* condition demandant de considérer le flux comme vide */)
{
/* cette possibilité n'est clairement pas compatible avec la
* possibilité précédente... c'est pourquoi je place ceci
* dans un else if ;)
*/
mode |=std::ios_base::trunk;
}
/*...*/
/* ouverture d'un fichier dans le mode que l'on vient de déterminer */
std::ofstream ofs(name.c_str(),mode);
/*...*/
} |
Partager