voila le while(!fichier.eof()) se fais mais mal me fais que
pause me affiche et le
while(!fichier2.eof()) lui affiche les printf...
je sais pas pourquoi
donc ce programme compare une ligne (fichier) avec toute les
autre ligne du (fichier2) ensuite passe a la ligne suivante et
refais la meme chose merci
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
ifstream fichier;
int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, nb_6, nb_7;
int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6, ok_7, ok_8, ok_9;
ifstream fichier2;
int nb_00, nb_11,nb_22, nb_33,nb_44, nb_55, nb_66, nb_77;
ok_1=0;
fichier.open("text.txt", ios::in);
fichier2.open("text2.txt", ios::in);
if(fichier.bad())
return(1); // errore
if(fichier2.bad())
return(1); // errore
while(!fichier.eof()){
fichier >> nb_0 >> nb_1 >> nb_2 >> nb_3>> nb_4 >> nb_5 >> nb_6>>
nb_7 ;
while(!fichier2.eof()){
voila le while(!fichier.eof()) se fais mais mal me fais que
pause me affiche et le
while(!fichier2.eof()) lui affiche les printf...
je sais pas pourquoi
donc ce programme compare une ligne (fichier) avec toute les
autre ligne du (fichier2) ensuite passe a la ligne suivante et
refais la meme chose merci
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
ifstream fichier;
int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, nb_6, nb_7;
int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6, ok_7, ok_8, ok_9;
ifstream fichier2;
int nb_00, nb_11,nb_22, nb_33,nb_44, nb_55, nb_66, nb_77;
ok_1=0;
fichier.open("text.txt", ios::in);
fichier2.open("text2.txt", ios::in);
if(fichier.bad())
return(1); // errore
if(fichier2.bad())
return(1); // errore
while(!fichier.eof()){
fichier >> nb_0 >> nb_1 >> nb_2 >> nb_3>> nb_4 >> nb_5 >> nb_6>>
nb_7 ;
while(!fichier2.eof()){
voila le while(!fichier.eof()) se fais mais mal me fais que
pause me affiche et le
while(!fichier2.eof()) lui affiche les printf...
je sais pas pourquoi
donc ce programme compare une ligne (fichier) avec toute les
autre ligne du (fichier2) ensuite passe a la ligne suivante et
refais la meme chose merci
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
ifstream fichier;
int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, nb_6, nb_7;
int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6, ok_7, ok_8, ok_9;
ifstream fichier2;
int nb_00, nb_11,nb_22, nb_33,nb_44, nb_55, nb_66, nb_77;
ok_1=0;
fichier.open("text.txt", ios::in);
fichier2.open("text2.txt", ios::in);
if(fichier.bad())
return(1); // errore
if(fichier2.bad())
return(1); // errore
while(!fichier.eof()){
fichier >> nb_0 >> nb_1 >> nb_2 >> nb_3>> nb_4 >> nb_5 >> nb_6>>
nb_7 ;
while(!fichier2.eof()){
voila le while(!fichier.eof()) se fais mais mal me fais que
pause me affiche et le
while(!fichier2.eof()) lui affiche les printf...
je sais pas pourquoi
donc ce programme compare une ligne (fichier) avec toute les
autre ligne du (fichier2) ensuite passe a la ligne suivante et
refais la meme chose merci
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
ifstream fichier;
int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, nb_6, nb_7;
int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6, ok_7, ok_8, ok_9;
ifstream fichier2;
int nb_00, nb_11,nb_22, nb_33,nb_44, nb_55, nb_66, nb_77;
ok_1=0;
fichier.open("text.txt", ios::in);
fichier2.open("text2.txt", ios::in);
if(fichier.bad())
return(1); // errore
if(fichier2.bad())
return(1); // errore
while(!fichier.eof()){
fichier >> nb_0 >> nb_1 >> nb_2 >> nb_3>> nb_4 >> nb_5 >> nb_6>>
nb_7 ;
while(!fichier2.eof()){
voila le while(!fichier.eof()) se fais mais mal me fais que
pause me affiche et le
while(!fichier2.eof()) lui affiche les printf...
je sais pas pourquoi
donc ce programme compare une ligne (fichier) avec toute les
autre ligne du (fichier2) ensuite passe a la ligne suivante et
refais la meme chose merci
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
ifstream fichier;
int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, nb_6, nb_7;
int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6, ok_7, ok_8, ok_9;
ifstream fichier2;
int nb_00, nb_11,nb_22, nb_33,nb_44, nb_55, nb_66, nb_77;
ok_1=0;
fichier.open("text.txt", ios::in);
fichier2.open("text2.txt", ios::in);
if(fichier.bad())
return(1); // errore
if(fichier2.bad())
return(1); // errore
while(!fichier.eof()){
fichier >> nb_0 >> nb_1 >> nb_2 >> nb_3>> nb_4 >> nb_5 >> nb_6>>
nb_7 ;
while(!fichier2.eof()){
voila le while(!fichier.eof()) se fais mais mal me fais que
pause me affiche et le
while(!fichier2.eof()) lui affiche les printf...
je sais pas pourquoi
donc ce programme compare une ligne (fichier) avec toute les
autre ligne du (fichier2) ensuite passe a la ligne suivante et
refais la meme chose merci
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
ifstream fichier;
int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, nb_6, nb_7;
int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6, ok_7, ok_8, ok_9;
ifstream fichier2;
int nb_00, nb_11,nb_22, nb_33,nb_44, nb_55, nb_66, nb_77;
ok_1=0;
fichier.open("text.txt", ios::in);
fichier2.open("text2.txt", ios::in);
if(fichier.bad())
return(1); // errore
if(fichier2.bad())
return(1); // errore
while(!fichier.eof()){
fichier >> nb_0 >> nb_1 >> nb_2 >> nb_3>> nb_4 >> nb_5 >> nb_6>>
nb_7 ;
while(!fichier2.eof()){
ok mais escuse mais je tres debutant enfin en c++ j'arrive as encore
manier string pour ca fais fichier et pas en memoire enfin pour l 'nstant
pas trouver comment faire avec( while( fichier>>))
peu tu etre un peu plus d'info
a écrit dans le message de news:
giovanni wrote:voila le while(!fichier.eof()) se fais mais mal me fais que
pause me affiche et le
while(!fichier2.eof()) lui affiche les printf...
je sais pas pourquoi
Pas besoin d'aller plus loin -- while avec la fonction eof() est
toujours une erreur.
Est-ce que tu as vérifié ce que fait la fonction eof() dans la
doc ? Parce que les noms des fonctions dans la norme sont
souvent trompeur (remove n'enlève rien, par exemple). En
l'occurance, la fonction ios::eof() n'indique rien en ce qui
concerne ce qui s'est passé à l'interface -- elle signifie qu'on
a vu une fin de fichier internalement, peut-être suite à une
lecture anticipée. L'idiome classique pour lire un fichier,
c'est :
while ( fichier >> dest ) ...
ou
while ( std::getline( fichier, ligne ) ) ...donc ce programme compare une ligne (fichier) avec toute les
autre ligne du (fichier2) ensuite passe a la ligne suivante et
refais la meme chose merci
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
ifstream fichier;
int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, nb_6, nb_7;
int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6, ok_7, ok_8, ok_9;
ifstream fichier2;
int nb_00, nb_11,nb_22, nb_33,nb_44, nb_55, nb_66, nb_77;
ok_1=0;
fichier.open("text.txt", ios::in);
fichier2.open("text2.txt", ios::in);
if(fichier.bad())
if ( ! fichier ) ...
ou
if ( ! fichier.is_open() ) ...
Un échec lors de l'ouverture positionne fail, et non bad. (En
général, bad se réserve pour des erreurs « dure », une erreur
hardware lors d'une écriture, par exemple.)return(1); // errore
if(fichier2.bad())
Comme ci-dessus.return(1); // errore
while(!fichier.eof()){
while ( fichier >> ... ) {fichier >> nb_0 >> nb_1 >> nb_2 >> nb_3>> nb_4 >> nb_5 >> nb_6>>
nb_7 ;
while(!fichier2.eof()){
while ( fichier2 >> ... ) {
Note qu'après la première fois dans la boucle exterieur, cette
condition sera toujours fausse. Si tu veux rélire le fichier2
pour chaque groupe d'entrées du fichier un, il faudrait quelque
chose comme :
fichier2.clear() ;
fichier2.gseek( std::ios::beg, 0 ) ;
après cette boucle. Mais ça risque d'être extrèmement lent,
rélire le fichier chaque fois. Si possible, je lirai tout le
fichier une seule fois, en mémoire, et je travaillerais en
mémoire.
--
James Kanze GABI Software http://www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
ok mais escuse mais je tres debutant enfin en c++ j'arrive as encore
manier string pour ca fais fichier et pas en memoire enfin pour l 'nstant
pas trouver comment faire avec( while( fichier>>))
peu tu etre un peu plus d'info
<kanze@gabi-soft.fr> a écrit dans le message de news:
1106646706.217845.299620@c13g2000cwb.googlegroups.com...
giovanni wrote:
voila le while(!fichier.eof()) se fais mais mal me fais que
pause me affiche et le
while(!fichier2.eof()) lui affiche les printf...
je sais pas pourquoi
Pas besoin d'aller plus loin -- while avec la fonction eof() est
toujours une erreur.
Est-ce que tu as vérifié ce que fait la fonction eof() dans la
doc ? Parce que les noms des fonctions dans la norme sont
souvent trompeur (remove n'enlève rien, par exemple). En
l'occurance, la fonction ios::eof() n'indique rien en ce qui
concerne ce qui s'est passé à l'interface -- elle signifie qu'on
a vu une fin de fichier internalement, peut-être suite à une
lecture anticipée. L'idiome classique pour lire un fichier,
c'est :
while ( fichier >> dest ) ...
ou
while ( std::getline( fichier, ligne ) ) ...
donc ce programme compare une ligne (fichier) avec toute les
autre ligne du (fichier2) ensuite passe a la ligne suivante et
refais la meme chose merci
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
ifstream fichier;
int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, nb_6, nb_7;
int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6, ok_7, ok_8, ok_9;
ifstream fichier2;
int nb_00, nb_11,nb_22, nb_33,nb_44, nb_55, nb_66, nb_77;
ok_1=0;
fichier.open("text.txt", ios::in);
fichier2.open("text2.txt", ios::in);
if(fichier.bad())
if ( ! fichier ) ...
ou
if ( ! fichier.is_open() ) ...
Un échec lors de l'ouverture positionne fail, et non bad. (En
général, bad se réserve pour des erreurs « dure », une erreur
hardware lors d'une écriture, par exemple.)
return(1); // errore
if(fichier2.bad())
Comme ci-dessus.
return(1); // errore
while(!fichier.eof()){
while ( fichier >> ... ) {
fichier >> nb_0 >> nb_1 >> nb_2 >> nb_3>> nb_4 >> nb_5 >> nb_6>>
nb_7 ;
while(!fichier2.eof()){
while ( fichier2 >> ... ) {
Note qu'après la première fois dans la boucle exterieur, cette
condition sera toujours fausse. Si tu veux rélire le fichier2
pour chaque groupe d'entrées du fichier un, il faudrait quelque
chose comme :
fichier2.clear() ;
fichier2.gseek( std::ios::beg, 0 ) ;
après cette boucle. Mais ça risque d'être extrèmement lent,
rélire le fichier chaque fois. Si possible, je lirai tout le
fichier une seule fois, en mémoire, et je travaillerais en
mémoire.
--
James Kanze GABI Software http://www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
ok mais escuse mais je tres debutant enfin en c++ j'arrive as encore
manier string pour ca fais fichier et pas en memoire enfin pour l 'nstant
pas trouver comment faire avec( while( fichier>>))
peu tu etre un peu plus d'info
a écrit dans le message de news:
giovanni wrote:voila le while(!fichier.eof()) se fais mais mal me fais que
pause me affiche et le
while(!fichier2.eof()) lui affiche les printf...
je sais pas pourquoi
Pas besoin d'aller plus loin -- while avec la fonction eof() est
toujours une erreur.
Est-ce que tu as vérifié ce que fait la fonction eof() dans la
doc ? Parce que les noms des fonctions dans la norme sont
souvent trompeur (remove n'enlève rien, par exemple). En
l'occurance, la fonction ios::eof() n'indique rien en ce qui
concerne ce qui s'est passé à l'interface -- elle signifie qu'on
a vu une fin de fichier internalement, peut-être suite à une
lecture anticipée. L'idiome classique pour lire un fichier,
c'est :
while ( fichier >> dest ) ...
ou
while ( std::getline( fichier, ligne ) ) ...donc ce programme compare une ligne (fichier) avec toute les
autre ligne du (fichier2) ensuite passe a la ligne suivante et
refais la meme chose merci
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
ifstream fichier;
int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, nb_6, nb_7;
int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6, ok_7, ok_8, ok_9;
ifstream fichier2;
int nb_00, nb_11,nb_22, nb_33,nb_44, nb_55, nb_66, nb_77;
ok_1=0;
fichier.open("text.txt", ios::in);
fichier2.open("text2.txt", ios::in);
if(fichier.bad())
if ( ! fichier ) ...
ou
if ( ! fichier.is_open() ) ...
Un échec lors de l'ouverture positionne fail, et non bad. (En
général, bad se réserve pour des erreurs « dure », une erreur
hardware lors d'une écriture, par exemple.)return(1); // errore
if(fichier2.bad())
Comme ci-dessus.return(1); // errore
while(!fichier.eof()){
while ( fichier >> ... ) {fichier >> nb_0 >> nb_1 >> nb_2 >> nb_3>> nb_4 >> nb_5 >> nb_6>>
nb_7 ;
while(!fichier2.eof()){
while ( fichier2 >> ... ) {
Note qu'après la première fois dans la boucle exterieur, cette
condition sera toujours fausse. Si tu veux rélire le fichier2
pour chaque groupe d'entrées du fichier un, il faudrait quelque
chose comme :
fichier2.clear() ;
fichier2.gseek( std::ios::beg, 0 ) ;
après cette boucle. Mais ça risque d'être extrèmement lent,
rélire le fichier chaque fois. Si possible, je lirai tout le
fichier une seule fois, en mémoire, et je travaillerais en
mémoire.
--
James Kanze GABI Software http://www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
j'ai essayer de mettre ca en memoire le prob maintenant avec tableau
comment savoir la taille max? que je peu cree et utiliser la memoire
dynamique comment faire
comme je sais pas la taille du fichier petit fichier ou gros fichier
"giovanni" a écrit dans le message de news:
41f6488e$ok mais escuse mais je tres debutant enfin en c++ j'arrive as encore
manier string pour ca fais fichier et pas en memoire enfin pour l 'nstant
pas trouver comment faire avec( while( fichier>>))
peu tu etre un peu plus d'info
a écrit dans le message de news:
giovanni wrote:voila le while(!fichier.eof()) se fais mais mal me fais que
pause me affiche et le
while(!fichier2.eof()) lui affiche les printf...
je sais pas pourquoi
Pas besoin d'aller plus loin -- while avec la fonction eof() est
toujours une erreur.
Est-ce que tu as vérifié ce que fait la fonction eof() dans la
doc ? Parce que les noms des fonctions dans la norme sont
souvent trompeur (remove n'enlève rien, par exemple). En
l'occurance, la fonction ios::eof() n'indique rien en ce qui
concerne ce qui s'est passé à l'interface -- elle signifie qu'on
a vu une fin de fichier internalement, peut-être suite à une
lecture anticipée. L'idiome classique pour lire un fichier,
c'est :
while ( fichier >> dest ) ...
ou
while ( std::getline( fichier, ligne ) ) ...donc ce programme compare une ligne (fichier) avec toute les
autre ligne du (fichier2) ensuite passe a la ligne suivante et
refais la meme chose merci
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
ifstream fichier;
int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, nb_6, nb_7;
int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6, ok_7, ok_8, ok_9;
ifstream fichier2;
int nb_00, nb_11,nb_22, nb_33,nb_44, nb_55, nb_66, nb_77;
ok_1=0;
fichier.open("text.txt", ios::in);
fichier2.open("text2.txt", ios::in);
if(fichier.bad())
if ( ! fichier ) ...
ou
if ( ! fichier.is_open() ) ...
Un échec lors de l'ouverture positionne fail, et non bad. (En
général, bad se réserve pour des erreurs « dure », une erreur
hardware lors d'une écriture, par exemple.)return(1); // errore
if(fichier2.bad())
Comme ci-dessus.return(1); // errore
while(!fichier.eof()){
while ( fichier >> ... ) {fichier >> nb_0 >> nb_1 >> nb_2 >> nb_3>> nb_4 >> nb_5 >> nb_6>>
nb_7 ;
while(!fichier2.eof()){
while ( fichier2 >> ... ) {
Note qu'après la première fois dans la boucle exterieur, cette
condition sera toujours fausse. Si tu veux rélire le fichier2
pour chaque groupe d'entrées du fichier un, il faudrait quelque
chose comme :
fichier2.clear() ;
fichier2.gseek( std::ios::beg, 0 ) ;
après cette boucle. Mais ça risque d'être extrèmement lent,
rélire le fichier chaque fois. Si possible, je lirai tout le
fichier une seule fois, en mémoire, et je travaillerais en
mémoire.
--
James Kanze GABI Software http://www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
j'ai essayer de mettre ca en memoire le prob maintenant avec tableau
comment savoir la taille max? que je peu cree et utiliser la memoire
dynamique comment faire
comme je sais pas la taille du fichier petit fichier ou gros fichier
"giovanni" <giovannisch@hotmail.com> a écrit dans le message de news:
41f6488e$1@ews20...
ok mais escuse mais je tres debutant enfin en c++ j'arrive as encore
manier string pour ca fais fichier et pas en memoire enfin pour l 'nstant
pas trouver comment faire avec( while( fichier>>))
peu tu etre un peu plus d'info
<kanze@gabi-soft.fr> a écrit dans le message de news:
1106646706.217845.299620@c13g2000cwb.googlegroups.com...
giovanni wrote:
voila le while(!fichier.eof()) se fais mais mal me fais que
pause me affiche et le
while(!fichier2.eof()) lui affiche les printf...
je sais pas pourquoi
Pas besoin d'aller plus loin -- while avec la fonction eof() est
toujours une erreur.
Est-ce que tu as vérifié ce que fait la fonction eof() dans la
doc ? Parce que les noms des fonctions dans la norme sont
souvent trompeur (remove n'enlève rien, par exemple). En
l'occurance, la fonction ios::eof() n'indique rien en ce qui
concerne ce qui s'est passé à l'interface -- elle signifie qu'on
a vu une fin de fichier internalement, peut-être suite à une
lecture anticipée. L'idiome classique pour lire un fichier,
c'est :
while ( fichier >> dest ) ...
ou
while ( std::getline( fichier, ligne ) ) ...
donc ce programme compare une ligne (fichier) avec toute les
autre ligne du (fichier2) ensuite passe a la ligne suivante et
refais la meme chose merci
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
ifstream fichier;
int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, nb_6, nb_7;
int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6, ok_7, ok_8, ok_9;
ifstream fichier2;
int nb_00, nb_11,nb_22, nb_33,nb_44, nb_55, nb_66, nb_77;
ok_1=0;
fichier.open("text.txt", ios::in);
fichier2.open("text2.txt", ios::in);
if(fichier.bad())
if ( ! fichier ) ...
ou
if ( ! fichier.is_open() ) ...
Un échec lors de l'ouverture positionne fail, et non bad. (En
général, bad se réserve pour des erreurs « dure », une erreur
hardware lors d'une écriture, par exemple.)
return(1); // errore
if(fichier2.bad())
Comme ci-dessus.
return(1); // errore
while(!fichier.eof()){
while ( fichier >> ... ) {
fichier >> nb_0 >> nb_1 >> nb_2 >> nb_3>> nb_4 >> nb_5 >> nb_6>>
nb_7 ;
while(!fichier2.eof()){
while ( fichier2 >> ... ) {
Note qu'après la première fois dans la boucle exterieur, cette
condition sera toujours fausse. Si tu veux rélire le fichier2
pour chaque groupe d'entrées du fichier un, il faudrait quelque
chose comme :
fichier2.clear() ;
fichier2.gseek( std::ios::beg, 0 ) ;
après cette boucle. Mais ça risque d'être extrèmement lent,
rélire le fichier chaque fois. Si possible, je lirai tout le
fichier une seule fois, en mémoire, et je travaillerais en
mémoire.
--
James Kanze GABI Software http://www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
j'ai essayer de mettre ca en memoire le prob maintenant avec tableau
comment savoir la taille max? que je peu cree et utiliser la memoire
dynamique comment faire
comme je sais pas la taille du fichier petit fichier ou gros fichier
"giovanni" a écrit dans le message de news:
41f6488e$ok mais escuse mais je tres debutant enfin en c++ j'arrive as encore
manier string pour ca fais fichier et pas en memoire enfin pour l 'nstant
pas trouver comment faire avec( while( fichier>>))
peu tu etre un peu plus d'info
a écrit dans le message de news:
giovanni wrote:voila le while(!fichier.eof()) se fais mais mal me fais que
pause me affiche et le
while(!fichier2.eof()) lui affiche les printf...
je sais pas pourquoi
Pas besoin d'aller plus loin -- while avec la fonction eof() est
toujours une erreur.
Est-ce que tu as vérifié ce que fait la fonction eof() dans la
doc ? Parce que les noms des fonctions dans la norme sont
souvent trompeur (remove n'enlève rien, par exemple). En
l'occurance, la fonction ios::eof() n'indique rien en ce qui
concerne ce qui s'est passé à l'interface -- elle signifie qu'on
a vu une fin de fichier internalement, peut-être suite à une
lecture anticipée. L'idiome classique pour lire un fichier,
c'est :
while ( fichier >> dest ) ...
ou
while ( std::getline( fichier, ligne ) ) ...donc ce programme compare une ligne (fichier) avec toute les
autre ligne du (fichier2) ensuite passe a la ligne suivante et
refais la meme chose merci
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main()
{
ifstream fichier;
int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, nb_6, nb_7;
int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6, ok_7, ok_8, ok_9;
ifstream fichier2;
int nb_00, nb_11,nb_22, nb_33,nb_44, nb_55, nb_66, nb_77;
ok_1=0;
fichier.open("text.txt", ios::in);
fichier2.open("text2.txt", ios::in);
if(fichier.bad())
if ( ! fichier ) ...
ou
if ( ! fichier.is_open() ) ...
Un échec lors de l'ouverture positionne fail, et non bad. (En
général, bad se réserve pour des erreurs « dure », une erreur
hardware lors d'une écriture, par exemple.)return(1); // errore
if(fichier2.bad())
Comme ci-dessus.return(1); // errore
while(!fichier.eof()){
while ( fichier >> ... ) {fichier >> nb_0 >> nb_1 >> nb_2 >> nb_3>> nb_4 >> nb_5 >> nb_6>>
nb_7 ;
while(!fichier2.eof()){
while ( fichier2 >> ... ) {
Note qu'après la première fois dans la boucle exterieur, cette
condition sera toujours fausse. Si tu veux rélire le fichier2
pour chaque groupe d'entrées du fichier un, il faudrait quelque
chose comme :
fichier2.clear() ;
fichier2.gseek( std::ios::beg, 0 ) ;
après cette boucle. Mais ça risque d'être extrèmement lent,
rélire le fichier chaque fois. Si possible, je lirai tout le
fichier une seule fois, en mémoire, et je travaillerais en
mémoire.
--
James Kanze GABI Software http://www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
std::vector<int> Valeurs, Valeurs2;
std::ifstream Fichier("test.txt");
std::ifstream Fichier2("test2.txt");
int Valeur;
while(Fichier>>Valeur) {Valeurs.push_back(Valeur);}
while(Fichier2>>Valeur){Valeurs2.push_back(Valeur);}
std::vector<int> Valeurs, Valeurs2;
std::ifstream Fichier("test.txt");
std::ifstream Fichier2("test2.txt");
int Valeur;
while(Fichier>>Valeur) {Valeurs.push_back(Valeur);}
while(Fichier2>>Valeur){Valeurs2.push_back(Valeur);}
std::vector<int> Valeurs, Valeurs2;
std::ifstream Fichier("test.txt");
std::ifstream Fichier2("test2.txt");
int Valeur;
while(Fichier>>Valeur) {Valeurs.push_back(Valeur);}
while(Fichier2>>Valeur){Valeurs2.push_back(Valeur);}
"Michel Michaud" writes:Il est plus direct (et plus savant ?) de faire
je ne sais pas si c'est savant, parce que cela ne fait aucun
contrôle sur l'entrée :-)
Ça n'est pas toujours avantageux,
"Michel Michaud" <mm@gdzid.com> writes:
Il est plus direct (et plus savant ?) de faire
je ne sais pas si c'est savant, parce que cela ne fait aucun
contrôle sur l'entrée :-)
Ça n'est pas toujours avantageux,
"Michel Michaud" writes:Il est plus direct (et plus savant ?) de faire
je ne sais pas si c'est savant, parce que cela ne fait aucun
contrôle sur l'entrée :-)
Ça n'est pas toujours avantageux,
"Michel Michaud" writes:
| Dans le message ,
| > "Michel Michaud" writes:
| >> Il est plus direct (et plus savant ?) de faire
| >
| > je ne sais pas si c'est savant, parce que cela ne fait aucun
| > contrôle sur l'entrée :-)
|
| Tiens, tu coupes les messages un peu trop serrés maintenant ? Je remets
Non.
| ce que tu as coupé et qui confirmait ce que tu dis :
|
| > Ça n'est pas toujours avantageux,
oui, mais mon point était sur le « savant » ;-)
-- Gaby
"Michel Michaud" <mm@gdzid.com> writes:
| Dans le message m3brbczy5p.fsf@uniton.integrable-solutions.net,
| > "Michel Michaud" <mm@gdzid.com> writes:
| >> Il est plus direct (et plus savant ?) de faire
| >
| > je ne sais pas si c'est savant, parce que cela ne fait aucun
| > contrôle sur l'entrée :-)
|
| Tiens, tu coupes les messages un peu trop serrés maintenant ? Je remets
Non.
| ce que tu as coupé et qui confirmait ce que tu dis :
|
| > Ça n'est pas toujours avantageux,
oui, mais mon point était sur le « savant » ;-)
-- Gaby
"Michel Michaud" writes:
| Dans le message ,
| > "Michel Michaud" writes:
| >> Il est plus direct (et plus savant ?) de faire
| >
| > je ne sais pas si c'est savant, parce que cela ne fait aucun
| > contrôle sur l'entrée :-)
|
| Tiens, tu coupes les messages un peu trop serrés maintenant ? Je remets
Non.
| ce que tu as coupé et qui confirmait ce que tu dis :
|
| > Ça n'est pas toujours avantageux,
oui, mais mon point était sur le « savant » ;-)
-- Gaby
j'ai essayer de mettre ca en memoire le prob maintenant avec
tableau comment savoir la taille max? que je peu cree et
utiliser la memoire dynamique comment faire comme je sais pas
la taille du fichier petit fichier ou gros fichier
j'ai essayer de mettre ca en memoire le prob maintenant avec
tableau comment savoir la taille max? que je peu cree et
utiliser la memoire dynamique comment faire comme je sais pas
la taille du fichier petit fichier ou gros fichier
j'ai essayer de mettre ca en memoire le prob maintenant avec
tableau comment savoir la taille max? que je peu cree et
utiliser la memoire dynamique comment faire comme je sais pas
la taille du fichier petit fichier ou gros fichier