cs_Boa51
Messages postés7Date d'inscriptionvendredi 21 mars 2003StatutMembreDernière intervention22 mars 2005
-
22 mars 2005 à 16:47
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 2006
-
22 mars 2005 à 18:01
bonjour!
J'ai un projet à réaliser en MFC et je voudrais savoir si il existe une fonction qui me permet de connaitre le nombre de lignes dans un fichier.
Sinon qq'un pourrait-il me donner un exemple de code à faire pour réaliser ceci ?
Merci d'avance !
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 22 mars 2005 à 17:39
un saut de ligne est 13 suivi de 10 sous Windows, seulement du 10 sous Unix, donc à tout coup il y a un ascii 10 à chercher, suffit de les compter dans le fichier.
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 22 mars 2005 à 18:01
int GetLineCount(char* szText)
{
// si vide
if(szText[0] == '\0')
return 0;
// on compte le nombre de caractère '\n' et on commence le décompte à 1
int nLineCount = 1;
while((szText = strchr(szText, '\n')) != NULL)
{
nLineCount++;
szText++;
}
// retour
return nLineCount;
}
szText est le contenu du fichier, terminé par un '\0' de fin
FILE* file = fopen("toto.txt", "rb");
fseek(file, 0, SEEK_END);
int size = ftell(file);
fseek(file, 0, SEEK_SET);
char* s = new char[size+1];
fread(s, size, 1, file);
fclose(file);
int nbline = GetLineCounr(s);
delete[] s;
=> Tout ça a quelques erreurs de frappes près mai s l'idée c'est ça