probleme avec les chaines de caracteres

probleme avec les chaines de caracteres - C - Programmation

Marsh Posté le 31-10-2006 à 22:41:39    

Bonjour,
je suis debutant en programation, je cherche a creer une fonction qui va recuperer des données dans un fichier.
une fonction du type:
void fonction(int* parametre1,int* parametre2,char* parametre3)
 
Le probleme est au niveau du char, je n'arrive pas a envoye un pointeur vers la chaine de caractere, meme pas un pointeur vers le premier caractere pour placer une boucle for.
 
J'ai essaye un programme dans ce style :
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(int argc, char *argv[])
  4. {
  5.   char n[]="francois";
  6.   char *pointeur=&n;
  7.   int i;
  8.   for(i=0;n[i]!="\0";i++)
  9.   {
  10.           printf("%s\n",*pointeur);
  11.           pointeur++;
  12. }
  13.  
  14.   system("PAUSE" );
  15.   return 0;
  16. }


Ici j'essaye d'afficher une chaine de caractere a partir du pointeur du premier caractere de la chaine
(si j'arrive a l'afficher de cette methode il est facile de resoudre mon probleme)
Or la le programme est detecte comme un virus par mon antivirus .... :pt1cable: et de toute maniere il bug...
 
Pouvez vous m'eclairer ....

Message cité 1 fois
Message édité par cassegrain1 le 31-10-2006 à 22:48:55
Reply

Marsh Posté le 31-10-2006 à 22:41:39   

Reply

Marsh Posté le 31-10-2006 à 23:12:20    

a tout hasard :  
 
char *pointeur=n;


---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Marsh Posté le 31-10-2006 à 23:44:03    

cassegrain1 a écrit :

Bonjour,
je suis debutant en programation, je cherche a creer une fonction qui va recuperer des données dans un fichier.


 
Une fois qu'on a corrigé tous les bugs signalés par le compilateur


Project   : Forums
Compiler  : GNU GCC Compiler (called directly)
Directory : C:\dev\forums2\
--------------------------------------------------------------------------------
Switching to target: default
Compiling: main.c
main.c: In function `main':
main.c:7: warning: initialization from incompatible pointer type
main.c:10: warning: comparison between pointer and integer
main.c:12: warning: format argument is not a pointer (arg 2)
main.c: At top level:
main.c:4: warning: unused parameter 'argc'
main.c:4: warning: unused parameter 'argv'
Linking console executable: C:\dev\forums2\console.exe
Process terminated with status 0 (0 minutes, 1 seconds)
0 errors, 5 warnings


 (et enlevé un peu de code inutile), ça marche bien.


f
r
a
n
c
o
i
s
 
Press ENTER to continue.


Message édité par Emmanuel Delahaye le 01-11-2006 à 18:53:16

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 01-11-2006 à 17:35:20    

merci pour les reponses , pourrais tu me mettre ton code Emmanuel.

Reply

Marsh Posté le 01-11-2006 à 17:40:01    

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(int argc, char *argv[])
  4. {
  5.   const char n[] = "francois";
  6.   int i;
  7.   for(i=0; n[i]!='\0'; i++)
  8.   {
  9.           printf("%c\n", n[i]);
  10.   }
  11.  
  12.   system("PAUSE" );
  13.   return 0;
  14. }


 
rien que comme ça ça marche mieux :
'\0' est un caractère, "\0" est une chaine
n est un pointeur, &n ça marche aussi (car n est un tableau) mais c'est déconseillé
ta boucle lit sur n[i] et pointeur en même temps : inutile, boucle directement sur n[i] ;

Reply

Marsh Posté le 01-11-2006 à 17:46:24    

ok merci ^^, par contre ce programme est detecte comme un virus pourquoi?

Message cité 1 fois
Message édité par cassegrain1 le 01-11-2006 à 17:47:41
Reply

Marsh Posté le 01-11-2006 à 18:15:42    

cassegrain1 a écrit :

ok merci ^^, par contre ce programme est detecte comme un virus pourquoi?


 :pt1cable:  :pt1cable: un virus ?
déjà ce que j'ai fourni c'est du code, pas un programme : c'est toi qui a compilé ce prog
et s'il est détecté comme un virus c'est soit ton antivirus qui déconne, soit ta machine est déjà vérollée
attention aussi que les client mail supposent que tous les exécutables en pièce jointe sont des virus potentiels.

Reply

Marsh Posté le 01-11-2006 à 18:52:37    

cassegrain1 a écrit :

merci pour les reponses , pourrais tu me mettre ton code Emmanuel.


Nice try...
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed