begin process at 2012 05 29 07:08:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Informations pour l'utilisation des fichiers en C


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

Informations pour l'utilisation des fichiers en C

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

Membre Club
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

Membre Club
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ée 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, Impossible d'écrire dans un fichier [ par snpier wolf ] Bonjours à vous, Je suis entrain de créer un Logeur, il fonctionne pour loguer un message dans une Message Box dans une console mais pas dans un fichi de l'aiiide!! [ par eliramomo ] bonjour !! j'aimerai que vous m'aidiez svp!! je veux lire dans un dossier specifié par example c:\\nouveau dossier tout les fichiers a la fois . J'exp cherchet afficher un ou plusieurs ligne d'une fichier texte . [ par brell ] bon jour! cette fonction a comme parametre fichier contenant les messages et une chaine de caracteres contenant le destinateur. cette fonction permet Steganographie, bitmap et offset [ par Heisen ] Bonjour à tous, désirant coder mon propre logiciel de stéganographie, avec lequel il serait possible de cacher un message dans une image (méthode Lea 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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 0,624 sec (4)

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