IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Ecriture et lecture d'un fichier


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 39
    Par défaut Ecriture et lecture d'un fichier
    Bonjour,
    Dans un programme je suis amené à écrire puis à lire des données dans un fichier mais j'ai besoin de les lire ou d'arriver à les écrire dans un ordre particulier afin de créer un bitmap a partir de ces données.
    Actuellement mes données sont tout d'abord stocker sous forme d'un tableau de matrice de booléen
    10 11 00 01 10 01
    10 00 11 01 01 10
    Je les stock ensuite dans mon fichier en les lisant l'une apres l'autre et j’obtiens donc 1010 1100 0011 0101 1001 0110
    Mais moi j'aimerais obtenir
    101100011001
    100011010110
    avec des lignes de 256 caractères ou au moins pouvoir les lire dans cet ordre si quelqu'un a une idée
    Merci d'avance pour votre aide.

  2. #2
    Membre Expert
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Billets dans le blog
    1
    Par défaut
    Pourrais-tu montré le code ou tu stock tes données, sous quelle forme elles sont stockées (vector, map, tableaux).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 39
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    cases::cases(bool c)
    {
    	coul= c;
     
    }
     
    matrice::matrice()
    {
    	FILE *fic=NULL;
    	fic=fopen("./test.txt","at+");
    	tab= new cases**[2];
     
        for(int i=0;i<2;i++)
        {
            tab[i]=new cases*[2];
            for (int j=0;j<2;j++)
            {
    			tab[i][j]=NULL;
     
     
     
    		}
    	}
     
     
    	if(flag==0)
    	{
    		srand((unsigned)(time(&flag)));;
    		flag++;
    	}	
    int j=1+(int) (6*rand()/(RAND_MAX+1.0));
     
     
    fprintf(fic, "[%d]", j)	;
    			switch (j)
                                {
                                    case 1:
    									tab[0][0]=new cases(true);
    									tab[0][1]=new cases(true);
    									tab[1][0]=new cases(false);
    									tab[1][1]=new cases(false);
                                        break;
                                    case 2:
                                        tab[0][0]=new cases(true);
    									tab[0][1]=new cases(false);
    									tab[1][0]=new cases(true);
    									tab[1][1]=new cases(false);
                                        break;
                                    case 3:
                                        tab[0][0]=new cases(true);
    									tab[0][1]=new cases(false);
    									tab[1][0]=new cases(false);
    									tab[1][1]=new cases(true);
                                        break;
                                    case 4:
                                        tab[0][0]=new cases(false);
    									tab[0][1]=new cases(true);
    									tab[1][0]=new cases(true);
    									tab[1][1]=new cases(false);
                                        break;
    								case 5:
                                         tab[0][0]=new cases(false);
    									tab[0][1]=new cases(true);
    									tab[1][0]=new cases(false);
    									tab[1][1]=new cases(true);
                                        break;
    								case 6:
                                        tab[0][0]=new cases(false);
    									tab[0][1]=new cases(false);
    									tab[1][0]=new cases(true);
    									tab[1][1]=new cases(true);
     
     
     
                                }
    	fclose(fic);
     
    }
     
     
    filtre::filtre(int n)
    {
    	nb=n;
     
    	tab = new matrice*[n+1];
     
    	for (int i=0;i<n;i++)
    	{
     
    		tab[i] = new matrice;
    	}
     
    }
    J'ai des cases dont l'un des attributs est un booleen, puis j'ai une classe matrice qui est un tableau 2*2 de ces cases puis je creer un filtre qui est un tableau de ces matrices.

  4. #4
    Membre Expert
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Billets dans le blog
    1
    Par défaut
    Je résume, dis moi si je me trompe:

    4 cases par matrice,
    un nombre X de matrice
    pour une matrice de ce type:
    {0,1,1,0}
    tu veux un affichage de ce type:
    01
    10
    c'est ça?

    pour 2 matrices:
    {0,1,1,0},{1,0,1,1}
    un affichage comme ça:
    0110
    1011

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 39
    Par défaut
    Oui c'est exactement ça

  6. #6
    Membre Expert
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Billets dans le blog
    1
    Par défaut
    Oki beh la je vois la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    //implémentation des crochet
    bool  matrice::operator[](int a)
    {
      int x=(a-1>0?a-1:0);
      int y=(a%2);
      return (tab[x][y]->coul); //ou alors tu creer un accesseur bool getcoul()
    }
     
    int a=0;
    while (tab[a]) //Parcour de ta liste de matrice pour la première ligne
    {
      char aff[2];
      aff[0]=(tab[a][0]==true?'1':'0');
      aff[1]=(tab[a][1]==true?'1':'0');
      write(tonfichier,aff,2);
      a++;
    }
    write(tonfichier,'\n',1);
    a=0;
    while (tab[a]) //Parcour de ta liste de matrice pour la deuxieme ligne
    {
      char aff[2];
      aff[0]=(tab[a][2]==true?'1':'0');
      aff[1]=(tab[a][3]==true?'1':'0');
      write(tonfichier,aff,2);
      a++;
    }
    pour des matrice comme sa:
    {0,1,1,0},{1,1,0,1}

    Sa écrira:
    0111 avec la première boucle
    \n
    1001 vec la deuxieme boucle

    Voilou demande moi si c'est pas clair

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] ecriture et lecture d'un fichier PHP qui génère du XML
    Par leoAlB dans le forum C#
    Réponses: 7
    Dernier message: 18/06/2014, 16h00
  2. Ecriture et lecture d'un fichier config
    Par YvesP dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/01/2010, 19h10
  3. Ecriture et lecture dans un fichier
    Par laetous dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 23/08/2006, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo