myTribu::reb0rn Search Members Help Calendar
Welcome Guest .:: Log In :: Register ::. .:: Resend Validation Email  

Reply to this topicStart new topicStart Poll

> [C++] Compter le nombre de lignes d'un fichier, fstream powa :P

Deather

CALLBACK
***************
Group: Administrateu(r|se)
Posts: 683
Member No.: 3
Joined: 28-December 03

Posted: Nov 24 2004, 07:46 AM   Quote Post 

Salut Langue.gif
Voici un programme tout petit qui permet de compter les lignes d'un programme, à l'aide des fstream C++.
Je compte essayer de rajouter une fonction multi-fichier (à la base je l'ai fais pour compter les lignes de code de mon RPG).

http://deather.free.fr/Sources/CountLine.cpp

Voilà, si vous avez des suggetions, faite péter Langue.gif
À+

 PMEmail Poster  Top

DarkFantasy

CALLBACK
***************
Group: Administrateu(r|se)
Posts: 684
Member No.: 4
Joined: 21-June 04

Posted: Nov 24 2004, 13:22 PM   Quote Post 

QUOTE
if(argc==1 || argc>2)

Ca équivaut à écrire if(argc>=1) nah ? Langue.gif

QUOTE
fstream File;

Tu peux utiliser ifstream ça évite le fstream::in je crois, tu peux aussi utiliser le constructeur pour mettre directement argv[1] ce qui évite l'utilisation de .open()

Sinon pour l'algo j'pense qu'il serait mieux de chercher tous les '\n' ( c'est ce que fait getline je suppose ) ça économiserait du temps de cpu je suppose. ^^

PS: Il trouve des lignes sur les fichiers images biggrin.gif



____________________
user posted imageuser posted image

 PMEmail PosterUsers WebsiteMSN  Top

Deather

CALLBACK
***************
Group: Administrateu(r|se)
Posts: 683
Member No.: 3
Joined: 28-December 03

Posted: Nov 24 2004, 16:32 PM   Quote Post 

Pour le argc, en fait on ne doit lui donner qu'un arguments, donc le nom du prog + l'arg = 2, donc si ==1 on a pas mis d'arg, si ==2 on a mis 1 arg, si >2 on a mis 2 args ou + ;-)
Pour le .open, c'est vrai j'suis bête je peux le mettre dans le constructeur ^^
Et pour les \n, c'pas con ça m'éviterai de devoir faire un buffer immense...
Merci Langue.gif

edit: Code mis à jour -> Voir lien 1er post ^^

 PMEmail Poster  Top

DarkFantasy

CALLBACK
***************
Group: Administrateu(r|se)
Posts: 684
Member No.: 4
Joined: 21-June 04

Posted: Nov 24 2004, 19:20 PM   Quote Post 

Ah oké j'viens de me rappeller du systeme des argc & argv ( j'connais mieux WinMain que main Langue.gif ) j'suis habitué à voir plutôt ça
QUOTE
if(argc==2) { /* On continue */ } else { /* Erreur */ }
Pour le multi-fichier c'est pas trop compliqué, tu réutilises ton File et tu utilises une boucle avec argc dans le while/for et et la variable de controle tu l'incrémentes et associe avec argv Langue.gif
Sinon bravo maintenant il tourne bcp vite :]

____________________
user posted imageuser posted image

 PMEmail PosterUsers WebsiteMSN  Top

Deather

CALLBACK
***************
Group: Administrateu(r|se)
Posts: 683
Member No.: 3
Joined: 28-December 03

Posted: Nov 25 2004, 19:33 PM   Quote Post 

Up (même si il est en haut Langue.gif)
J'ai tout refais proprement, et maintenant il gère le multi fichier sans problème.
Il est aussi possible de lui passer en argument l'option --gui permettant de coupler ce programme à n'importe quelle GUI. Cela permet de faire en sorte que le programme ne retourne que le nombre de lignes des fichiers passés en arguments, dans l'ordre dans lequel ils ont été passé.
Si vous comprenez rien, testez. Langue.gif

Édit: Erf mon trolloonay ne m'aime plus, je suis un CALLBACK maintenant :'( Langue.gif

 PMEmail Poster  Top

 1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

Reply to this topicStart new topicStart Poll

 


Top