Lecture de ligne dans un fichier texte sous windows et unix
moumouteb
Messages postés192Date d'inscriptiondimanche 16 janvier 2005StatutMembreDernière intervention28 février 2011
-
28 févr. 2011 à 21:47
Neo_Fr
Messages postés653Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention10 novembre 2014
-
7 mars 2011 à 13:51
Bonjour,
Je développe un code qui doit tourner sous Windows et UNIX. J'utilise la fonction getline() pour lire un fichier texte. Et bien sûr suivant d'où provient le fichier (Windows ou UNIX) seul le programme compiler sur la même plateforme le lit correctement (l'autre rajoute un caractère). J'ai vu que le retour chariot n'était pas le même suivant la plateforme donc ma question est :
Peut-on récupérer une ligne d'un fichier texte quelque que soit ça provenance avec un même code sous UNIX et Windows? Existe-il un fetline() amélioré?
Merci d'avance pour votre aide.
----------------------------------------------
Thiméo Soutien Scolaire : logiciel de soutien scolaire libre et gratuit
A voir également:
Lecture de ligne dans un fichier texte sous windows et unix
pop70
Messages postés181Date d'inscriptionmardi 6 avril 2010StatutMembreDernière intervention 7 janvier 201210 28 févr. 2011 à 22:34
Salut,
Tu peux essayer :
int main (int argc, char **argv)
{
//...
#if defined (__WIN32__)
// Code pour Windows
#else
// Code pour Linux
#endif
//...
}
_WIN32_ ou autre selon ton compilateur, si ça ne marche pas avec le tien regarde sur ce site, c'est expliqué en détails.
Une autre solution serait, pour ne pas utiliser les instructions de préprocesseur, d'essayer d'ouvrir le fichier shell32.dll (C:\WINDOWS\System32\shell32.dll), c'est un fichier spécifique à Windows qui contient les icônes, si le fichier existe alors c'est sur Windows, sinon ç'est sur Unix (ou un autre système...).
Neo_Fr
Messages postés653Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention10 novembre 20142 7 mars 2011 à 13:51
Une autre solution serait, pour ne pas utiliser les instructions de préprocesseur, d'essayer d'ouvrir le fichier shell32.dll (C:\WINDOWS\System32\shell32.dll), c'est un fichier spécifique à Windows qui contient les icônes, si le fichier existe alors c'est sur Windows, sinon ç'est sur Unix (ou un autre système...).
Mieux faut utiliser les macros, tu ne peut pas garantir que ton système est installé sur le C:\