begin process at 2012 02 13 07:25:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Pb de debutant en C


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

Pb de debutant en C

vendredi 12 janvier 2007 à 11:12:17 | Pb de debutant en C

tezca_system

Bonjour
J'ai des pb pour manipuler char *argv[] lors de son passage en argument d'une fonction.
char *argv[] est une chaine de caractere saisi à l'invite sur la ligne de commande, et je souhaite ensuite l'afficher.
L'afficher depuis mon main() ca passe mais depuis une fonction qui prends comme argument char *argv[] ca plante (segmentation fault).
POuvez vous m'aider svp, des conseils, des bouts de code.
Concretement je pense que j'ai un pb de syntaxe pour passer char *argv[] en parametre d'une fonction, compliquer car j'ai l'impression que c un pointeur sur pointeur.
Quel doit etre le protype de la fonction?
Merci par avance.
vendredi 12 janvier 2007 à 12:27:28 | Re : Pb de debutant en C

laurent1024

Membre Club
Réponse acceptée !
void mafonction(char * args[]){
}


int main (int argc, char * argv[]) {
mafonction(argv);
...
}

vendredi 12 janvier 2007 à 13:32:06 | Re : Pb de debutant en C

tezca_system

Merci Beaucoup evident quand c ecrit comme cela, mais rien de naturel lorsque seul on commence à "pointer" partout.
Je continue avec beaucoup de sang froid car vraiment necessaire dans ce language.
(a rajouter un pb de ";" que le compilateur n'a pas deceler par c t pas mauvais syntaxiquement..dur dur)
a tres bientot.
Merci


vendredi 12 janvier 2007 à 13:43:05 | Re : Pb de debutant en C

tezca_system

Allez juste un autre petit conseil tant qu'on parle de buffer et de pointeur.
Qu'elle est la methode la plus usuelle pour manipuler une chaine de caractere?
Creer un buffer de type "char buffer[56]";
Ou un pointeur avec une allocation de memoire derriere de type: char *buffer; puis une allocation de type
buffer = (char *) malloc (sizeof(*buffer) * 56);
Probablement qu'en language machine cela revient au meme mais juste afin de prendre une bonne habitude.

vendredi 12 janvier 2007 à 14:03:21 | Re : Pb de debutant en C

laurent1024

Membre Club
Réponse acceptée !
Ca va dépendre de plusieurs paramètres :
Si tu connais la taille de ta chaine  = par exemple la taille sera < 200, tu fais char text[200];
ou alors une macro (en debut de fichier) #define MAX_TEXT 200   et après char text[MAX_TEXT]

Si tu connais pas la taille de ta chaine ou que la chaine et tres grosse il faut mieux utilise un malloc. ATTENTION SI TU UTILISE UN MALLOC IL FAUT UTILISER DES FREE sinon tu vas avoir des fuites de mémoire.
++

vendredi 12 janvier 2007 à 14:29:15 | Re : Pb de debutant en C


Cette discussion est classée dans : fonction, pb, char, argv, debutant


Répondre à ce message

Sujets en rapport avec ce message

pb avec variable [ par jeffise57 ] Please aidez moiJe reçoit comme arugument du fonction des variables unsigned char* et je doit passer dans une deuxième fonction les même arguments mai Pb avec la fonction free en C [ par Cako19 ] Bonjour,J'ai un problème lorsque je souhaite libérer une chaîne de caractère et je ne trouve pas la réponse dans le forum bien que le sujet ait déjà é pb debutant sur les char [ par skyman272 ] j'ai un tableau de caractere name[10]comment faire pour copier une chaine entiere dans ce tableau.Exemple : name = "toto", qui ne marche pas.merci pb avec une fonction qui retourne une chaine de caractère [ par othland ] slt tlm: j'ai introduit le code suivant: char * my_func(........) {char ch[30];   mon code..... return(ch); } void main() { char chaine[30];   chaine Pb fonction, char [ par Sim 2005 ] Salut,J'ai un problème dans l'appel d'une fonction, il se poduit une erreur lors de la compilation. Il s'agit de Regopenkeyex, selone le prototype, po !!! Pb gethostname !!! [ par yoyo269 ] Salut,mon problème est je n'arrive pas à récupérer le nom du pc avec le code suivant sous Windows 2000 (ça me renvoie "") :char * ChercheNomPC(){    s une question [ par deck_bsd ] Bonsoir tous le monde, Voila une question me trote dans la tête depuis quelque temps. Et notament qu'en j'ai vu la signature de la fonction strdup : Mettre un char * dans un float. [ par kaervas ] Bonjour, J'aimerais recuperer une chaine du genre "2.16" et la mettre dans un float.. J'ai essayer de recoder la fonction mais probleme avec la precis parametre de la fonction main() [ par infodaoudi ] bonjour,dans le programme qui suit : comment executer la fonction main() sachant que j'utilise le vc++ 6.0 (console). autrement dit, comment faire pou conversion du String^ to char* [ par adrianomad ] Salut.J'ai en face un grand pb. J'ai besoin d'une fonction qui me permet de convertir un String^ to char*. En effet, je voudrais lire un texte (nom de


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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,421 sec (4)

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