afficher le contenu d'un pointeur de carecteur
Page 1 sur 1 • Partager •
afficher le contenu d'un pointeur de carecteur
salut à tous
j'ai un ptit souci pour comment afficher le contenu d'un pointeur de carecteur
dans TD3 strlen ...
pour cette 3 printf il y des warning
et j'avait encore une problem avec NULL
ERROR est :
Multiple markers at this line
- 'NULL' undeclared (first use in this function) // il considère NULL comme est une variable ..???
- each undeclared identifier is reported only once for each function it // ..??????
merci de me repondre est bonne soirée
j'ai un ptit souci pour comment afficher le contenu d'un pointeur de carecteur
dans TD3 strlen ...
- Code:
int strLen(char *str) {
int i = 0;
while ( *str != '\0'){
/*
printf("la caracter de str vaut :%c",str);
printf("la caracter de str vaut :%p",str);
printf("la caracter de str vaut :%c",*str);
*/
i++;
str++;
}
return i;
}
pour cette 3 printf il y des warning
et j'avait encore une problem avec NULL
- Code:
int strlen(char *str) {
int i = 0;
//on test est-ce que le pointeur de carecter n'est pas NULL
while ( (str != NULL) && (*str != '\0')){
i++;
str++;
}
ERROR est :
Multiple markers at this line
- 'NULL' undeclared (first use in this function) // il considère NULL comme est une variable ..???
- each undeclared identifier is reported only once for each function it // ..??????
merci de me repondre est bonne soirée
Dernière édition par didi le Mer 13 Oct 2010, 21:29, édité 1 fois

didi- Nombre de messages: 205
Prénom: Dinesh
Statut:
Date d'inscription: 21/01/2009
Re: afficher le contenu d'un pointeur de carecteur
je ne pense pas avoir très bien compris ton problème néamoins si tu veux afficher le contenu de la variable pointée par str il faut faire
printf("le caractère .....blabla :%c",*(str));
quant à null tu dois le définir sinon ton compilateur ne saura pas ce que c'est
#define null 0
après ça devrait aller normalement...bonne continuation
printf("le caractère .....blabla :%c",*(str));
quant à null tu dois le définir sinon ton compilateur ne saura pas ce que c'est
#define null 0
après ça devrait aller normalement...bonne continuation
karemkadidola- Nombre de messages: 240
Prénom: aimé
Date d'inscription: 13/10/2009
Re: afficher le contenu d'un pointeur de carecteur
sinon pourquoi tu incrémentes i et str en même temps? normalement c'est soit l'un soit l'autre....à toi de voir la méthode qui convient le mieux aux attentes de ta fonction pour strlen autant incrémenter i car il te sert de compteur....
karemkadidola- Nombre de messages: 240
Prénom: aimé
Date d'inscription: 13/10/2009
Re: afficher le contenu d'un pointeur de carecteur
merci pour le reponse ...
en fait je voudrai chaque fois la pointeur point sur un carecter j'aimerai bien l'afficher ...
mais printf("le caractère .....blabla :%c",*(str)); ne fonctionne pas
en fait je voudrai chaque fois la pointeur point sur un carecter j'aimerai bien l'afficher ...
mais printf("le caractère .....blabla :%c",*(str)); ne fonctionne pas

didi- Nombre de messages: 205
Prénom: Dinesh
Statut:
Date d'inscription: 21/01/2009
Re: afficher le contenu d'un pointeur de carecteur
montres un peu la partie du code où tu initialises ton str (ton tableau de char) celui que tu passes à strlen ...
karemkadidola- Nombre de messages: 240
Prénom: aimé
Date d'inscription: 13/10/2009
Re: afficher le contenu d'un pointeur de carecteur
bon l'exercise est
EX09 : Des ersatz de fonctions de la librairie standard.
Ecrivez vos propres fonctions réalisant la fonctionnalité probable de StrLen, StrCmp, StrChr,
StrCpy, StrCat, StrStr sans utiliser l'opérateur d'indexation [] . Consultez d'abord la
documentation (cpp.chm ou autre) relative aux fonctions de la librairie standard : strlen ,
strcmp, strchr, strcpy , strcat, strstr.
donc je n'ai pas creé un tableu de char ...
EX09 : Des ersatz de fonctions de la librairie standard.
Ecrivez vos propres fonctions réalisant la fonctionnalité probable de StrLen, StrCmp, StrChr,
StrCpy, StrCat, StrStr sans utiliser l'opérateur d'indexation [] . Consultez d'abord la
documentation (cpp.chm ou autre) relative aux fonctions de la librairie standard : strlen ,
strcmp, strchr, strcpy , strcat, strstr.
donc je n'ai pas creé un tableu de char ...

didi- Nombre de messages: 205
Prénom: Dinesh
Statut:
Date d'inscription: 21/01/2009
Re: afficher le contenu d'un pointeur de carecteur
ok pour écrire ta fonction tu n'as pas besoin d'un tableau de char. mais si tu veux la tester il faut bien que tu lui passes un tableau de char surtout qu'en plus tu veux afficher les chars en question...
écris ta fonction passes lui un tableau de char..seulement après si elle ne fait pas ce que tu attends d'elle là tu peux te poser des questions...mais saches qu'elle attends de toi en premier lieu que tu lui passe un tableau de char.... int strlen(const char*tab)
écris ta fonction passes lui un tableau de char..seulement après si elle ne fait pas ce que tu attends d'elle là tu peux te poser des questions...mais saches qu'elle attends de toi en premier lieu que tu lui passe un tableau de char.... int strlen(const char*tab)
karemkadidola- Nombre de messages: 240
Prénom: aimé
Date d'inscription: 13/10/2009
Re: afficher le contenu d'un pointeur de carecteur
@didi : tu devrais d'abord configurer ton projet pour respecter les normes de l'ANSI C 90 (voir td c1). Ensuite, comment veux-tu qu'on comprenne les erreurs que tu signales sans voir l'ensemble de ton projet qui comprend probablement plusieurs fichiers .c et .h !

smb- Nombre de messages: 997
Age: 59
Prénom: Stéphan
Statut: Don de sang, don de vie!
Localisation: Spy
Date d'inscription: 23/01/2007
Re: afficher le contenu d'un pointeur de carecteur
@didi : ceci dit, tu as probablement oublié d'inclure stdio.h dans ton fichier source !

smb- Nombre de messages: 997
Age: 59
Prénom: Stéphan
Statut: Don de sang, don de vie!
Localisation: Spy
Date d'inscription: 23/01/2007
Re: afficher le contenu d'un pointeur de carecteur
j'ai fait ptit correction par rapport à l'enoncé
c-à-d j'ai change le nom comme strlen -> strLen , strcpy -> strCpy
et je test les deux methode même temps
et j'ai sais que avant dans ma question j'ai écrit
au lie de
cette une faute de copier coller .....
dans mon main est
le resultat affiche bien 4
et j'ai creé un header td3.h
et fichier source td3src.c
j'aimerai bien quand je parcour le pointer char je l'affiche
c-à-d j'ai change le nom comme strlen -> strLen , strcpy -> strCpy
et je test les deux methode même temps
et j'ai sais que avant dans ma question j'ai écrit
- Code:
int strlen(char *str) {}
au lie de
- Code:
int strLen(char *str) {}
cette une faute de copier coller .....
dans mon main est
- Code:
# include "smb03.h"
# include <stdlib.h>
# include <stdio.h>
# include "date.h"
# include "td2.h"
# include "typesCommuns.h"
# include "td3.h"
#include <string.h>
int main() {
const char *ptrChar;
const Date *ptrDate;
const UINT *ptrUINT;
char *mots1 = "didi";
printf("\nMethode strlen le mots est : %s son taille est : %i ",mots1,strlen(mots1));
printf("\nMethode strLen le mots est : %s son taille est : %i ",mots1,strLen(mots1));
le resultat affiche bien 4
et j'ai creé un header td3.h
- Code:
#ifndef TD3_H_
#define TD3_H_
int strLen(char *str);
void strCpy(char *str1,char *str2);
int strCmp(char *str1,char *str2);
char * strChr(char *str1,char *str2);
void strCat(char *str1,char *str2);
char * strStr(char *str1,char *str2);
#endif /* TD3_H_ */
et fichier source td3src.c
- Code:
# include "td3.h"
#define NULL 0
int strLen(char *str) {
int i = 0;
while ( (str != NULL) && *str != '\0'){
i++;
/*
* c = *str;
* (str != NULL) &&
* printf("la caracter de str vaut :%c",*str);
*/
str++;
}
return i;
}
void strCpy(char *str1,char *str2) {
while(*str2 != '\0') {
*str1 = *str2;
str1++;
str2++;
}
j'aimerai bien quand je parcour le pointer char je l'affiche
Dernière édition par didi le Mer 13 Oct 2010, 21:49, édité 1 fois

didi- Nombre de messages: 205
Prénom: Dinesh
Statut:
Date d'inscription: 21/01/2009
Re: afficher le contenu d'un pointeur de carecteur
didi a écrit:merci de me repondre
A quelle question ? Afficher un char ? J'pense que tu as trouvé, non ?
Anthoblack- Nombre de messages: 764
Age: 24
Prénom: Anthony
Statut: Ex-étudiant
Localisation: Bruxelles
Date d'inscription: 11/03/2008
Re: afficher le contenu d'un pointeur de carecteur
... difficile d'afficher quelque chose quand le printf est en commentaire !

smb- Nombre de messages: 997
Age: 59
Prénom: Stéphan
Statut: Don de sang, don de vie!
Localisation: Spy
Date d'inscription: 23/01/2007
Re: afficher le contenu d'un pointeur de carecteur
smb a écrit:... difficile d'afficher quelque chose quand le printf est en commentaire !
Il incrémente son pointeur, c'est déjà un bon début ^^
Anthoblack- Nombre de messages: 764
Age: 24
Prénom: Anthony
Statut: Ex-étudiant
Localisation: Bruxelles
Date d'inscription: 11/03/2008
Re: afficher le contenu d'un pointeur de carecteur
smb a écrit:@didi : ceci dit, tu as probablement oublié d'inclure stdio.h dans ton fichier source !
![]()
oui ... c'est vrai j'ai oublier d'inclure le fichier stdio.h dans mons fichier source td3src.c ...
merci à tous
mais j'ai le problem de NULL j'ai le même code
j'ai écrit entête de fichier source
# define NULL 0
le warning est :
..\src\td3src.c:10:0: warning: "NULL" redefined
c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/stddef.h:400:0: note: this is the location of the previous definition

didi- Nombre de messages: 205
Prénom: Dinesh
Statut:
Date d'inscription: 21/01/2009
Re: afficher le contenu d'un pointeur de carecteur
didi a écrit:(...)
mais j'ai le problem de NULL j'ai le même code
j'ai écrit entête de fichier source
# define NULL 0
le warning est :
..\src\td3src.c:10:0: warning: "NULL" redefined
c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/stddef.h:400:0: note: this is the location of the previous definition
Normal, car si tu inclus le header stdio.h la macro NULL est également incluse, tu ne dois donc pas la redéfinir !
Maintenant tu peux dire que c'est résolu !

smb- Nombre de messages: 997
Age: 59
Prénom: Stéphan
Statut: Don de sang, don de vie!
Localisation: Spy
Date d'inscription: 23/01/2007
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum