Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1461 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  J'ai besoin d'un Guru C++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

J'ai besoin d'un Guru C++

n°445050
cow2
Posté le 01-07-2003 à 12:14:32  profilanswer
 

Bonjour, j'ai besoin de confirmation sur les questions suivantes pour un test.
Merci de me donner un petit coup de main.
Désolé c'est en anglais ...
 
Ca débute par un squelette de programme avec 2 questions :
 
  50        char * p;
  200       p=test();
  201-300   /* we want to use 'p' here*/
  2000      char * test()
What might go between the parentheses in this particular situation?  
  2001      {
  2002      char buf[8];
  2003-2050 /* unspecified, buf defined here *./
  2051      return (char *) buf;
What is the construction '(char *)' called and what does it do?  What do the constructions of that name do in general?
  2052      }
   
 
Ensuite d'autres questions:
 
1. Is this a reasonable function?  
 
2. Will it work at all?  
 
3. Is it good practice, and why?
 
4. How, exactly, could one get a second 'char *' to use back from this function?  Be specific in terms of the exact syntax needed.  Another way to state this question is how can this function be modified to return a 'char *' from the function, and an additional 'char *' value in one function call.  Please make sure that your answer will work even if the size of the char * desired is not known in the outside calling function.  Avoid C++ syntax.  Include statements in called and calling functions.  Use good programming practice.  Although alternatives are acceptable, for this question, please include an answer which maintains the original return type.
 
5. What's the difference between a system call and library function?
 
Merci de votre aide !

mood
Publicité
Posté le 01-07-2003 à 12:14:32  profilanswer
 

n°445054
Taz
bisounours-codeur
Posté le 01-07-2003 à 12:23:28  profilanswer
 

en tout cas on te dit que t'as qu'a posté ça dans la cat C, et tenté la traduction de voila.fr.
 
et surtout, si par hasard quelqu'un veut faire tes devoirs, tu peux prendre au moins la peine de structurer un peu.

n°445059
chrisbk
-
Posté le 01-07-2003 à 12:31:00  profilanswer
 

skoi ste blague ?
 
deja essaye de faire un post lisible

n°445062
El_gringo
Posté le 01-07-2003 à 12:32:03  profilanswer
 

Jeune fou !

n°445084
cow2
Posté le 01-07-2003 à 13:09:04  profilanswer
 

++Taz a écrit :

en tout cas on te dit que t'as qu'a posté ça dans la cat C, et tenté la traduction de voila.fr.
 
et surtout, si par hasard quelqu'un veut faire tes devoirs, tu peux prendre au moins la peine de structurer un peu.


 
Ah j'ai pas traduit, personne n'est anglophile par là ?
 
La premiere partie consiste en un squelette de programme avec des numéros de lignes ...
Les autres questions sont sur le petit programme.
C'est un petit questionnaire pour un travail aux US.  
Comme je ne fais pas de C/C++ depuis 3 ans je voulais vérifier.
 
Bref tant pis ...  
Et Jeune fou .. euh ... je pense être plus vieux enfin bref ...  

n°445086
LetoII
Le dormeur doit se réveiller
Posté le 01-07-2003 à 13:13:29  profilanswer
 

:heink:  Vérifier quoi t'a même pas mis tes réponses?
 
Ca faisait longtemps qu'on en avait pas vu un comme ça :ouch:


---------------
Le Tyran
n°445108
polo021
Posté le 01-07-2003 à 13:39:28  profilanswer
 

ouais, dis nous plutot ce que tu penses que ce code va faire et ensuite ben peut etre qu'on te dira si t'as juste ou pas[:spamafote]
EDIT : En plus t'as meme pas pris la peine de faire une recherche avant de poster  :pfff:  
 
http://forum.hardware.fr/forum2.ph [...] h=&subcat=


Message édité par polo021 le 01-07-2003 à 13:43:22
n°445127
cow2
Posté le 01-07-2003 à 13:51:23  profilanswer
 

polo021 a écrit :

ouais, dis nous plutot ce que tu penses que ce code va faire et ensuite ben peut etre qu'on te dira si t'as juste ou pas[:spamafote]
EDIT : En plus t'as meme pas pris la peine de faire une recherche avant de poster  :pfff:  
 
http://forum.hardware.fr/forum2.ph [...] h=&subcat=


 
ok j'ai ca a la maison je ferai ce soir, je suis au travail j avais pas envi de tout retaper ...
merci pour le lien

n°445139
cow2
Posté le 01-07-2003 à 13:55:42  profilanswer
 

LetoII a écrit :

:heink:  Vérifier quoi t'a même pas mis tes réponses?
 
Ca faisait longtemps qu'on en avait pas vu un comme ça :ouch:  


 
Merci de rester poli et respectueux ... Faire preuve de ce genre de supériorité ne sert à rien.  
Autant s'abstenir ! Merci

n°445154
LetoII
Le dormeur doit se réveiller
Posté le 01-07-2003 à 14:08:03  profilanswer
 

cow2 a écrit :


 
Merci de rester poli et respectueux ... Faire preuve de ce genre de supériorité ne sert à rien.  
Autant s'abstenir ! Merci


 
 :heink:  
 
Désolez vieux mais j'ai assez à faire avec mon boulot sans en plus faire le tien.
 
Edit: en plus je parlais du topic et pas du posteur.


Message édité par LetoII le 01-07-2003 à 14:09:30

---------------
Le Tyran
mood
Publicité
Posté le 01-07-2003 à 14:08:03  profilanswer
 

n°445167
cow2
Posté le 01-07-2003 à 14:19:47  profilanswer
 

LetoII a écrit :


 
 :heink:  
 
Désolez vieux mais j'ai assez à faire avec mon boulot sans en plus faire le tien.


 
Bien oui. Moi je demande un petit service, de façon poli.
Les explications que j'ai données n'étaient peut être pas si claires que ça.
On me le dit et j'explique.  
Mais me faire traiter de rigolo par les gens d'ici de but en blanc, je ne vois pas l'intérêt.
Il y a d'autres lieux pour se défouler ...
 

LetoII a écrit :


 
Edit: en plus je parlais du topic et pas du posteur.


Désolé d'avoir mal interprété mais ta phrase était bien ambigüe ...

n°445169
Joel F
Real men use unique_ptr
Posté le 01-07-2003 à 14:21:54  profilanswer
 

Disons qu'on a souvent d emauvaise experience de gens qui viennent poster leur devoir/Tp/TD sans plus de remerciement ou d'explications, d'ou notre acceuille un peu froid.

n°445171
LetoII
Le dormeur doit se réveiller
Posté le 01-07-2003 à 14:22:07  profilanswer
 

cow2 a écrit :


 
Bien oui. Moi je demande un petit service, de façon poli.
Les explications que j'ai données n'étaient peut être pas si claires que ça.
On me le dit et j'explique.  
Mais me faire traiter de rigolo par les gens d'ici de but en blanc, je ne vois pas l'intérêt.
Il y a d'autres lieux pour se défouler ...
 
 
Désolé d'avoir mal interprété mais ta phrase était bien ambigüe ...


 
C par ce qu'on a vu passer trop detopic à la con qui commencent comme le tien, on a tendence à partir au quart de tour :D


---------------
Le Tyran
n°445174
Joel F
Real men use unique_ptr
Posté le 01-07-2003 à 14:22:33  profilanswer
 

grillaid binome :p

n°445434
cow2
Posté le 01-07-2003 à 18:11:14  profilanswer
 

Bon voilà ce que je répondrais.
En gros le C/C++ ça fait 5 ou 6 ans que je n'y touche plus ... d'où ma question ...
 

cow2 a écrit :

Bonjour, j'ai besoin de confirmation sur les questions suivantes pour un test.
Merci de me donner un petit coup de main.
Désolé c'est en anglais ...
 
Ca débute par un squelette de programme avec 2 questions :
 
  50        char * p;
  200       p=test();
  201-300   /* we want to use 'p' here*/
  2000      char * test()
What might go between the parentheses in this particular situation?  


là c'est fastoche ce sont les arguments de la fonction test ...
 

cow2 a écrit :


  2001      {
  2002      char buf[8];
  2003-2050 /* unspecified, buf defined here *./
  2051      return (char *) buf;
What is the construction '(char *)' called and what does it do?  What do the constructions of that name do in general?


 
là aussi fastoche, char * est un pointeur sur une chaine de caracteres.  
 
  2052      }

cow2 a écrit :


 
Ensuite d'autres questions:
 
1. Is this a reasonable function?  
 


 
bien non ça retourne l'adresse d'une variable sur la pile
 

cow2 a écrit :


2. Will it work at all?  
 


 
ça ne fonctionnera que par chance, si la mémoire n'a pas été utilisée pour autre chose
 

cow2 a écrit :


3. Is it good practice, and why?


Non, il faut mettre au moins un static buf[8], voire un malloc si on est courageux
 

cow2 a écrit :


4. How, exactly, could one get a second 'char *' to use back from this function?  Be specific in terms of the exact syntax needed.  Another way to state this question is how can this function be modified to return a 'char *' from the function, and an additional 'char *' value in one function call.  Please make sure that your answer will work even if the size of the char * desired is not known in the outside calling function.  Avoid C++ syntax.  Include statements in called and calling functions.  Use good programming practice.  Although alternatives are acceptable, for this question, please include an answer which maintains the original return type.


 
Là je suppose qu'il faut utiliser un argument à la fonction test.
L'énoncé n'est pas clair, mais je dirais :
 
char * test(char **ppvalue)
{
 
static char buf[8];
strcpy(*ppvalue,buf)
return (char *) buf
}
 

cow2 a écrit :


5. What's the difference between a system call and library function?


 
A part dire que l'un vient du noyau et l'autre pas je vois rien de très spirituel à dire ici
 

cow2 a écrit :


Merci de votre aide !


 
Des commentaires? Merci ...

n°445481
Angel_Doog​las
Le dernier des humains
Posté le 01-07-2003 à 18:34:43  profilanswer
 

1/ Je pense plutot qu'il veulent dire qu'il ne faut rien mettre (pas d'arguments)
2/ La encore c'est une autre reponse qui est attendu je pense: il s'agit d'un cast
 
Pour la suite, faut voir tes reponses ne sont pas fausses mais je me demande encore si ce sont les reponses attendues.


Message édité par Angel_Dooglas le 01-07-2003 à 18:36:05
n°445890
LetoII
Le dormeur doit se réveiller
Posté le 02-07-2003 à 08:36:50  profilanswer
 

J'ai jeté un rapide coup d'oeuil ça a l'air d'être ça, je regarderai plus en détail plus tard.


---------------
Le Tyran
n°445958
LetoII
Le dormeur doit se réveiller
Posté le 02-07-2003 à 09:39:29  profilanswer
 

cow2 a écrit :


là aussi fastoche, char * est un pointeur sur une chaine de caracteres.  
 


 
 :non: C'est un cast vers le type char*, ce qui veut dire que el programme interprèéte différament les données contenue dans la variable.


---------------
Le Tyran
n°446018
cow2
Posté le 02-07-2003 à 10:31:30  profilanswer
 

LetoII a écrit :


 
 :non: C'est un cast vers le type char*, ce qui veut dire que el programme interprèéte différament les données contenue dans la variable.


 
Ah les casts j'avais oublié ce truc là
Bon si le reste est correct c'est cool, j'envoie ca ce soir.
Merci ... finalement j'ai pas tout oublié

n°446756
MorFinBaZ
Posté le 02-07-2003 à 18:43:48  profilanswer
 

Je me permet de mettre mon grain de sel.
 
Deja dans le code il faut placer la déclaration de la fonction avant l'appel.
 
De plus tu peux remplacer  

Code :
  1. char * test()
  2. {
  3.   char buf[8];
  4.   /* bla bla bla */
  5.   return (char *) buf;
  6. }


par

Code :
  1. char * test()
  2. {
  3.   char *buf = new char[8];
  4.   /* bla bla bla */
  5.   return buf;
  6. }


et la ca marche sans probleme.


Message édité par MorFinBaZ le 02-07-2003 à 18:44:35
n°446844
LetoII
Le dormeur doit se réveiller
Posté le 02-07-2003 à 20:09:10  profilanswer
 

MorFinBaZ a écrit :

Je me permet de mettre mon grain de sel.
 
Deja dans le code il faut placer la déclaration de la fonction avant l'appel.


Pas nécessairement, suffit de mettre un proto.
 

MorFinBaZ a écrit :


De plus tu peux remplacer  

Code :
  1. char * test()
  2. {
  3.   char buf[8];
  4.   /* bla bla bla */
  5.   return (char *) buf;
  6. }


par

Code :
  1. char * test()
  2. {
  3.   char *buf = new char[8];
  4.   /* bla bla bla */
  5.   return buf;
  6. }


et la ca marche sans probleme.


 
Me semble qua ça a déja été dit


---------------
Le Tyran
n°446847
Angel_Doog​las
Le dernier des humains
Posté le 02-07-2003 à 20:13:26  profilanswer
 

Surtout qu'il ne faut pas utiliser de C++...
Des fois on se demande si les gens lisent les enonces :o  
Mais comme mon post c'est du caca :o

n°446867
cow2
Posté le 02-07-2003 à 21:15:03  profilanswer
 

Angel_Dooglas a écrit :

Surtout qu'il ne faut pas utiliser de C++...
Des fois on se demande si les gens lisent les enonces :o  
Mais comme mon post c'est du caca :o
 


 
vi c'est du C me suis planté de rubrique.  :p  
Merci quand meme

n°447051
MorFinBaZ
Posté le 03-07-2003 à 00:45:09  profilanswer
 

LetoII a écrit :


Pas nécessairement, suffit de mettre un proto.

Yepa exactement :)  declaration != definition
(enfin c'est le vocabulaire que j'ai apris a la fac hein)

n°448342
polo021
Posté le 04-07-2003 à 08:24:59  profilanswer
 

MorFinBaZ a écrit :

Yepa exactement :)  declaration != definition
(enfin c'est le vocabulaire que j'ai apris a la fac hein)


la declaration c'est le proto et la definition c'est la fonction en elle meme (avec tout le code)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  J'ai besoin d'un Guru C++

 

Sujets relatifs
Je suis New en html, j'ai besoin d'aide[ADA] Les références sous ada besoin d'aide
[vbscript]-besoin d'aide sur une fonctionJ'ai besoin de tous les cadors du CSS (gm, hotshot, antp: au pied!) ;)
[batch] Besoin d'un script qui efface les fichiers*.bak sur un serveurmd5 et decryptage : besoin d'aide
Besoin d'aide pour une requete MySQL un peu spéciale (SELECT)Besoin d'un conseil
Besoin d'aide [Générer un permutoèdre]besoin d'aide
Plus de sujets relatifs à : J'ai besoin d'un Guru C++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR