begin process at 2012 02 05 04:51:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

lecture fichier C++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

lecture fichier C++

lundi 22 novembre 2004 à 17:34:25 | lecture fichier C++

biscot19

bonjour,
je voudrais savoir comment faire pour lire un fichier ligne par ligne

par exemple je demande a mon prog de lire la 3eme ligne
il doit me retourner tou ce qu'il y a écrit a cette ligne


mon probleme est que je n'arrive pas a me positionner par ligne mes seulement par caractere. hors mes lignes ont des nombres de caracteres differents
lundi 22 novembre 2004 à 22:32:51 | Re : lecture fichier C++

Gendal67


Bonjour ! Ben pr faire cela, je te dis d'avance qu'il faut que le fichier que tu vas lire soit un fichier texte ou dans le genre !

Je te fais la fct DOS... :-) BruNews te la fera p-e en Win32 ;-)


int lineCnt;

cout << "Entre le numéro de ligne à lire : ";
cin << lineCnt;

FILE* fp;

if ((fp = fopen("your file.txt", "r")) == NULL) return;

char depot[MAX_PATH];
int occ = 1;

while (fgets(fp, depot)) { // ou un truc du genre ;-)

if (occ == lineCnt) {

cout << endl << "ligne : " << depot;
break;
}

occ++;
}



Voila, si t'as d'autres questions... ;-))

Gendal67, à votre service !
mardi 23 novembre 2004 à 01:07:25 | Re : lecture fichier C++

BruNews

Administrateur CodeS-SourceS
TXT VERS LISTBOX (WIN32)
http://www.cppfrance.com/code.aspx?id=25258

ou comment detailler les lignes avec 2 pointeurs sur un buffer, vitesse assuree.

ciao...
BruNews, MVP VC++
mardi 23 novembre 2004 à 10:42:01 | Re : lecture fichier C++

biscot19

mon pb c'est que mon fichier peut faire 10 000 000 lignes au maximum
donc le faiot de lire par ligne c'est trop long
mardi 23 novembre 2004 à 15:59:24 | Re : lecture fichier C++

djl

Gendal67 > ce que tu fais n'a rien à voir avec dos, c'est juste du c

et oubli cin/cout (c'est du c++) utilises les e/s c
mardi 23 novembre 2004 à 18:30:36 | Re : lecture fichier C++

Gendal67


Oui oui, djl, lol ! Quelle connerie j'ai dis moi encore!!! mdr! oui, c'est du C.... mais pk serait il préférable d'oublier le cin/cout ? Toute façon ici c'était juste pour l'exemple ;-)

Gendal67, à votre service !
mardi 23 novembre 2004 à 19:13:01 | Re : lecture fichier C++

djl

ben si tu fais du c, fais du c, ou sinon du c++ mais ne melange surtout pas les 2 !

ce sont 2 langages distincts mais en parti compatible, d'ou le piege


en c ansi

{

FILE* fp;
size_t lineCnt, occ = 1;
char depot[MAX_PATH];


fputs( "Entre le numéro de ligne à lire : ", stdout );
fflush( stdout );
/* saisie sans controle */
sscanf( "%d", &lineCnt );

if( (fp = fopen("your file.txt", "r")) == NULL ) return;


while( fgets( depot, sizeof depot, fp) )
{
if (occ == lineCnt)
{
printf( "ligne : %s\n", depot );
break;
}

occ++;
}

fclose( fp );

}
mercredi 24 novembre 2004 à 10:21:56 | Re : lecture fichier C++

biscot19

en fait voila mon code


char main(int argc, char* argv[])
{

int lign = atoi(argv[1]);
char *test;
// le constructeur de ifstream permet d'ouvrir un fichier en lecture
std::ifstream fichier( "combinaisons" );
std::string ligne;
if ( fichier ) // ce test échoue si le fichier n'est pas ouvert
{
int lines = 0;


while ( fichier.ignore( std::numeric_limits<int>::max(), '\n' ) )
{
++lines;
if( lines == (lign-1))
{
std::getline( fichier, ligne ) ;
test = &ligne
break;
}
}

// afficher la ligne à l'écran
std::cout << ligne << std::endl;

}

return test;
}



comme vous le voyez j'essaye de renvoyer la ligne lue
mais cela ne marche pas
comment je peux faire pour renvoyer le contenu ligne
mercredi 24 novembre 2004 à 11:10:06 | Re : lecture fichier C++

djl

main DOIT retourner un int

remplace

test = &ligne

par

char * test = new char[ligne.size() +1];
std::strcpy( test, ligne.c_str() );


mais surtout fais ca uniquement si tu dois utiliser par la suite des char*, sinon reste avec std::string, et oublis pas c_str() en cas de besoin

mercredi 24 novembre 2004 à 11:18:53 | Re : lecture fichier C++

biscot19

bah le probleme c'est que ce programme est appelé par un autre programme qui doit absolument récupérer une chaine de caractère

1 2

Cette discussion est classée dans : fichier, lecture, ligne, lire


Répondre à ce message

Sujets en rapport avec ce message

Lecture ligne par ligne d'un fichier texte [ par Aldarek ] Bonjour à tous, je sais comment on fait pour lire un fichier ligne par ligne mais je cherche à lire une ligne particulière pour ensuite récupérer sa v Lecture d'un fichier de données en C [ par sandy27 ] Alors je vais poser une question qui a déjà été posée dans le forum, mais les réponses ne me conviennent pas ! je veux lire un fichier qui contient de lecture de fichiers binaires [ par psycho ] bonjour a tous. Je cherche a lire un fichier .obj (c a dire un fichier compile, mais l edition des liens n est pas encore faites) pour en extraire ses lire ligne par ligne dans un fichier [ par shadow1779 ] Bonjour, je me demandais comment c'est possible de faire d'un fichier texte une petite base de donnée c'est a dire de mettre des informations ligne p Comment récuperer ligne par ligne dans un fichier.txt [ par arsenecouette ] Bonjour à tous,Voila mon second prb de la semaine et je fais donc appel une nouvelle fois à vos connaissances.Dans un fichier.txt, je sauvegarde un ma Comment recup lign par lign d'un .txt ET comment obtenir le contenu d'un repertoire [ par arsenecouette ] Bonjour à tous,Dans un fichier.txt, je sauvegarde un mail. A savoir  :       -premiere ligne :  l'expediteur       -deuxième li lecture d'un mot dans un fichier [ par paulina82 ] bonjour tout le monde. en faite j'ai un gros pb.je suis an train de faire un projet en langage C.et mon pb est que j'arive pas a lire un mot dans un f ligne de fichier [ par cedric3456 ] salut a tous en c ou c++ peut on lire et ecrire a une ligne donnee dans un fichier texteexemple : ecrire a la ligne n une chaine et lire la ligne n Lire un fichier ligne par ligne [ par bilaloch ] Bonjour,Comment pourrais je lire un fichier texte ligne par ligne en C++ (VC++.Net 2005 Beta) ?Merci beaucoup... lecture fichier langage C [ par lenneth666 ] Bonjour J'aurais aimé savoir comment on fait pour lire un fichier ligne par ligne en C ? merci d'avance


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,108 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales