begin process at 2010 09 03 03:16:51
  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...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
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,544 sec (4)

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