Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Informations pour l'utilisation des fichiers en C [ Archives / Divers ] (angelfire0808)

jeudi 11 mai 2006 à 12:23:42 | Informations pour l'utilisation des fichiers en C

angelfire0808

J'ai un fichier avec comme contenu :

test
556565
autre test
1762167
.....

je souhaite mettre ce contenu dans ma liste chainée mais ça bloque lors de la recherche du numero de téléphone


void consulter_sms(pt_cellule *tete)
{
     FILE* fichier = NULL;
     char message[164] = "" ;
     int num_telephone;
   
     
     
     // Il faut dans un permier temps charger les SMS dans la liste chainée venant du fichier memoireSMS_numtel.txt :
   
    fichier = fopen("memoireSMS_2472722.txt", "r");
     while(fichier!=NULL)
     {
         fscanf(fichier,"%s",message); // La premiere ligne est le SMS
                  {   
                      printf("Un SMS trouve : %s",message);
                     
                  }
         fscanf(fichier,"%d",num_telephone); // La seconde le numero de téléphone
                  {   
                      printf(" . le numero de tel est le : %d\n",num_telephone);
 
                  }             
         ajout_tete(tete,message,num_telephone);
     }

    fclose(fichier);


jeudi 11 mai 2006 à 12:52:19 | Re : Informations pour l'utilisation des fichiers en C

laurent1024

Le fscanf est assez dangeureux a utiliser car l'espace est considéré comme un séparateur
donc sur autre test il va lire "autre" et va bloquer sur "test"
http://c.developpez.com/faq/c/?page=clavier_ecran#SCREEN_scanf_fgets

jeudi 11 mai 2006 à 16:51:16 | Re : Informations pour l'utilisation des fichiers en C

THEwarrior333


void consulter_sms(pt_cellule *tete)
{
     FILE* fichier = NULL;
     char message[164] = "" ;
     int num_telephone;
   
     
     
     // Il faut dans un permier temps charger les SMS dans la liste chainée venant du fichier memoireSMS_numtel.txt :
    
En essayant de corriger:   

fichier = fopen("memoireSMS_2472722.txt", "r");
     while(!feof(fichier))
     {
         if(fscanf(fichier,"%s %d", message, &num_telephone))    // ATTENTION! num_telephone n'est pas une chaine donc 
                                                                                              // ne pas oublier le &
        {
            printf("Un SMS trouve : %s\n le numero de tel est le : %d\n",message, num_telephone))
                     
            ajout_tete(tete,message,num_telephone);
        }
     }

    fclose(fichier);

< body>


jeudi 11 mai 2006 à 16:53:22 | Re : Informations pour l'utilisation des fichiers en C

THEwarrior333

(et j'oubliais: mieux vaut tester si l'ouverture du fichier s'est bien déroulée)


jeudi 11 mai 2006 à 17:25:32 | Re : Informations pour l'utilisation des fichiers en C

angelfire0808

ca focntionne effectivement mais j'ai effectivement le probleme avec les espaces. Donc comment utiliser le fgets :
J'ai essayé comme ça mais ca ne fonctionne pas


    fichier = fopen("memoireSMS_244342.txt", "r");
     while(!feof(fichier))
     {
                         
                         
          /*               
         fscanf(fichier,"%[^\n]",message); // La premiere ligne est le SMS
                  {  
                      printf("Un SMS trouve : %s",message);
                    
                  }
         */
        
        
         while (fgets(message, 160, fichier))
        {
            printf("%s", message); // On affiche la chaîne qu'on vient de lire
        }
        
        
         fscanf(fichier,"%d",&num_telephone); // La seconde le numero de téléphone
                  {  
                      printf(" . le numero de tel est le : %d\n",num_telephone);
 
                  }             
         ajout_tete(tete,message,num_telephone);
     }

    fclose(fichier);

jeudi 11 mai 2006 à 17:40:54 | Re : Informations pour l'utilisation des fichiers en C

laurent1024

et si tu faisait simplement  : fgets(message, 160, fichier);

jeudi 11 mai 2006 à 18:01:17 | Re : Informations pour l'utilisation des fichiers en C

angelfire0808

C'est pareil . Ca indique n'importe quoi pour le numero de telephone. les 4 lignes du fichier texte sont affichées par le gets

jeudi 11 mai 2006 à 20:38:48 | Re : Informations pour l'utilisation des fichiers en C

THEwarrior333


En fait il faut une fonction qui fasse la difference entre l'espace et le retour chariot si j'ai bien compris. Mais le mieux je pense c'est de mettre des "flags" pour detecter qd il s'agit d'un message et qd il s'agit du numero. Exemple:

[message]
"le message"
[\message]
[num]
1655416
[\num]

puis tu testes a l'aide de fscanf. Comme ca meme qd il y a des espaces ds le message, il st pris en compte convenablement.


Hors Sujet: dommage qu'il ne soit pas possible d'editer ses posts !




Cette discussion est classé dans : fichier, message, sms, num, telephone


Répondre à ce message

Sujets en rapport avec ce message

Suppression de fichier [ par angelfire0808 ] J'ai un programme dans lequel je dois supprimer un fichier.Le probleme c'est qu'il ne se supprime pas toujours. Quelles sont les conditions pour qu'un spliter un fichier.... [ par damdam04 ] salut le monde des programmeursj'ai deja posté un message sur le forum de VB sur le splitage de fichier... "je cherche comment décomposer des lignes, information fprintf [ par angelfire0808 ] Quand j'ecrie dans mon fichier avec la commande:  fprintf(fichier, "%s;%d", sms_a_envoyer,num_send);&nb Pb de copie de fichier/taille de structure [ par wannie ] Salut tt le monde. Quelqu'un pourrai tester mon prog est me dire si ça fonctionne. Moi je comprend pas j'ai une copie d'un caractère dans chaque ligne [C] Transfert de fichier par sockets [ par bonobo78 ] salut ! j'ai un petit pb pour transmettre un fichier via des sockets.En fait, je decoupe le fichier en petit bout de 1024 octets et je transmets chaqu modem [ par grekers ] bonjour j effectu un appelle avec mon modem vers un telephone et je voudrais savoir comment faire pour quand je decroche le telephone ca me lance un f PB avec la gestion de fichier dans une de mes fonctions!!!! [ par kobee12 ] J'ai cree deux fonctions qui me permettent de charger et d'enregistrer dans un fichier selon l'ecriture dans le fichier de la maniere suivante : jour Matez ça! :) [ par MaDC ] J'ai un soucis avec mon appli MFC.Je voudrais ouvrir un document avec ça :void CCommandeRobotView::OnFileOpen() { CFileDialog fenetreDlg( true, NU Fonction *char [ par moustachu ] Bonjour,Je suis en train de faire évoluer une appli qui a pas de paramétrage à sortir de l'appli. Tout est codé en dir et ça craint assez (ex : strcpy connexion modem-telephone lecture fichier son [ par sena ] Salutj'effectue par soft une connecxion et deconnexion entre deux modem. Je pense donc que je peux faire la meme chose en contactant un telephone et n


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,187 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.