begin process at 2012 05 30 06:17:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Récuperer une chaine 3 caractère dans une chaine de caractère ?


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

Récuperer une chaine 3 caractère dans une chaine de caractère ?

mardi 31 janvier 2006 à 15:50:36 | Récuperer une chaine 3 caractère dans une chaine de caractère ?

Atomos83

    Bonjour, alors voila je vous expose mon problème :
Je doit scanner un fichier, chaque ligne du fichier est de a meme forme, seul les 3 dernieres caractère varient, par exemple :

00100001
00100002
00100003

J'aimerais justement extraire ces 3 caractères mais je block,
j'ai 2 soucis,
Le premier, j'ai fait une boucle qui me lit mon fichier ligne par ligne jusqu'a la fin ... mais il ne s'arrete pas a la fin, il continue indéfiniment !

Le second est que je ne sait pas du tout comment procéder pour récupérer ces 3 caractères, en VB j'aurais fait un right mais la ...

Si vous pouvez m'aider, merci beaucoup, @t0 !

mardi 31 janvier 2006 à 15:51:46 | Re : Récuperer une chaine 3 caractère dans une chaine de caractère ?

Atomos83

Edit, voila le debut de mon code ...


main()
{
      FILE *mon_fichier;      
      char *lecture[51];       
      int i;     
     
      mon_fichier= fopen("ca_art.dat","r");      
     
      while((fgets(lecture,51,mon_fichier))!=EOF)
      {
           printf("%s",lecture);
      } 
}    


Merci !
mardi 31 janvier 2006 à 16:25:34 | Re : Récuperer une chaine 3 caractère dans une chaine de caractère ?

BruNews

Administrateur CodeS-SourceS

char *lecture[51]; // TABLEAU DE POINTEURS ???
char lecture[50]; // ça c'est un buffer

une chaine finit par un zéro en C, ok ?
char *c; // ICI OUI QUE JE VEUX UN POINTEUR
c = lecture; // POINTE SUR TON BUFFER
while(*c) c++; // VA A LA FIN, LE ZERO FINAL
strcpy(bufferDestination, c - 3); // J'AI FINI, YOUPI

ciao...
[ Lien ]
BruNews, MVP VC++

mardi 31 janvier 2006 à 16:34:21 | Re : Récuperer une chaine 3 caractère dans une chaine de caractère ?

Atomos83

 Alors, je suis noob en C, et je n'ai donc franchement pas compris du tout ton explication  ... si tu pourrais réexpliquer plus ... simplement ?
Merci a toi

mardi 31 janvier 2006 à 16:51:38 | Re : Récuperer une chaine 3 caractère dans une chaine de caractère ?

BruNews

Administrateur CodeS-SourceS
dis où ça te pose problème car je ne vois pas ce qui peut en poser.

ciao...
[ Lien ]
BruNews, MVP VC++
mardi 31 janvier 2006 à 17:05:58 | Re : Récuperer une chaine 3 caractère dans une chaine de caractère ?

SnOOpss

Lol

Si tu es habitué au right du VB il y a cette fonction trouvée je sais pas ou, elle est plus bordelique que celle a Brunews mais tu auras pas de mal a t en servir.

char *C_RIGHT(char *texte, int nbre_caracteres) {
  static char resultat[80];
  if (nbre_caracteres > 0 && nbre_caracteres < (int)strlen(texte) ) {
    strncpy(resultat,texte + (strlen(texte) - nbre_caracteres), nbre_caracteres);
    resultat[nbre_caracteres] = '\0';
  }
  return resultat;
}

mardi 31 janvier 2006 à 17:09:08 | Re : Récuperer une chaine 3 caractère dans une chaine de caractère ?

TeniX

Membre Club

essay ceci:

FILE *mon_fichier;      
      
char lecture[51];  
char cara;    
int i=0;    
    
mon_fichier = fopen("ca_art.dat","r");      
    
while(feof(mon_fichier) == 0)
      {
           fscanf(mon_fichier,"%c",&cara);  
           lecture[i]=cara;
          
           if (cara == '\n')
           {
            //Les trois derniere lettre etait
            printf("%c",lecture[i-3]);    
            printf("%c",lecture[i-2]);
            printf("%c",lecture[i-1]);    
            i=0;        
           }
           i++;
                            
           printf("%c",cara);
}
mardi 31 janvier 2006 à 17:45:11 | Re : Récuperer une chaine 3 caractère dans une chaine de caractère ?

Atomos83

Merci pour ta reponse tenix, mais en faite, j'aimerais faire un test SUR les 3 derniers caractères,
c'est a dire que, un exemple :

    Si les 3 derniers caractères sont egales a 203 , alor j affiche la phrase entiere

J'ai essayer, en recuperant ton code source de faire un :


    if(lecture[i-3]==2 && lecture[i-2]==0 && lecture[i-1]==0)
    {
          printf("%c",cara);
     }

Mais cela ne marche pas,

Merci encore pour vos répose ...
mardi 31 janvier 2006 à 18:22:29 | Re : Récuperer une chaine 3 caractère dans une chaine de caractère ?

TeniX

Membre Club

essay :

    if(lecture[i-3]==(char)2 && lecture[i-2]==(char)0 && lecture[i-1]==(char)0)
    {
          printf("%c",cara);
     }
mardi 31 janvier 2006 à 18:31:50 | Re : Récuperer une chaine 3 caractère dans une chaine de caractère ?

BruNews

Administrateur CodeS-SourceS
if(lecture[i-3] == '2' etc...

ciao...
[ Lien ]
BruNews, MVP VC++

1 2

Cette discussion est classée dans : fichier, ligne, caractère, chaine, récuperer


Répondre à ce message

Sujets en rapport avec ce message

[Programme en C] Gestion d'un fichier texte dans un programme en C [ par Azshari ] Bonjour à tous Mon problème est le suivant, j'ai un fichier .FIL que j'aimerai exploiter. Voila ce qu'on peut trouver dans ce fichier lorsqu'on l'o récuperer des données numérique dans fichiers [ par snakers07 ] bonjour, j'essaye de réaliser un chargement de fichier, pour cela je dois parcourir le tableau afin d'en soutirer que les informations numériques c'es traitement d'un fichier [ par boualiasma ] Salut,J'ai un fichier texte bien formé contient deux champs: objet et attribut.tous les objets sont des entiers et tous les attributs sont de chaines aide traitement du fichier [ par boualiasma ] J'ai un fichier qui se compose de deux champs : - numero présenté par un entier - attribut présenté par une chaine caractère. On a la même taille po Majuscule ? [ par norton ] Bonjour, Je cherche a savoir si la chaine de caractère contenue dans un fichier text est en majuscule mais je ne sait pas comment faire. Pour le momen Exploitation de fichier en C ?!?!?! [ par GazGaz ] lu allalors voila le truc c'est que je voudrais aller chercher des infos dans un fichier qui est structuré de la meme maniere lignes apres lignes. Je saut de ligne dans un fichier texte [ par milhandril ] Je souhaite enregistrer des valeurs saisies dans une boite de dialogue dans un fichier texte, chaque champ est délimté par le caractère ";" et je souh lire un fichier txt ligne par ligne [ par lapinrose67 ] Bonsoir,Je developpe un logiciel en C sous Linux, voila mon problème:Je dois lire un fichier texte ligne par ligne et placer chacune d'entre ellesdans comment extraire un fichier csv ligne par ligne avec visualc++? [ par ngatcha ] bonjour,comment puis je extraire un fichier csv ligne par ligne avec visualc++? J'ai un eproposition de solution mais il y ' a des erreurs dans le co Récupérer une partie d'une chaine de caractère !!! [ par tazmania37 ] Hello,Alors voilà mon problême, je récupère un fichier htm sur le net mais je ne veux qu'une partie de ce fichier pour l'afficher.Je sais juste ce qu'


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,640 sec (3)

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