2010-06-26 4 views
1

Comment puis-je écrire deux fonctions multiplateformes simples (Linux, Windows) pour lire un fichier texte et déterminer si un fichier existe?Fichier multiplate-forme existant et lu dans C++

Je ne veux pas utiliser une grande bibliothèque comme Boost.IO pour cela. C'est un très petit plugin pour certains logiciels et je ne pense pas que ce soit nécessaire.

Merci.

Répondre

4

La bibliothèque standard devrait être suffisante. access vous dira si un fichier existe, et (si c'est là) vous pouvez lire avec un std::ifstream normal.

+0

Quel est le nom complet et le type de 'access'? Est-ce une fonction ou une classe? Il est difficile de chercher avec ce mot général sur Google. – Notinlist

+1

@Notinlist: J'ai ajouté un lien qui pourrait vous être utile. –

0
// portable way to get file size; returns -1 on failure; 
// if file size is huge, try system-dependent call instead 
std::ifstream::pos_type filesize(const char* filename) 
{ 
    std::ifstream in(filename, std::ifstream::in | std::ifstream::binary); 
    in.seekg(0, std::ifstream::end) 
    return in.tellg(); 
}