Flux rss
Rechercher : dans
Par : Mots clés Nom d'utilisateur
Messages sans réponse

[printf]C/unix

fredo10, le mercredi 7 décembre 2005 à 12:58:40 
 Signaler ce message aux modérateurs

Salut a tous,
mon probleme est le suivant: je dois recoder la fonction printf alors si vous pouviez m'aider a le faire je vous serai vraiment reconnaissant.merci d'avance de bien vouloir aider un vrai debutant.

1

kilian, le mercredi 7 décembre 2005 à 14:54:22

Salut,

Sous quel système d'exploitation? Quelle version de Php?

Répondre à kilian

2

kilian, le mercredi 7 décembre 2005 à 15:02:51

Oups pardon, me suis gourré de message. (Chais pas comment j'ai fait mais bon....).

Ben du coup je vais essayer de répondre à ta question.
En fait tout dépend des fonctions que tu as le droit d'utiliser.
Est ce que tu as droit d'utiliser sprintf() ou fprintf() ?
Est ce que tu as le droit d'utiliser fwrite()?

Par contre je pourrais pas t'aider en ce qui concerne le nombre d'arguments indéfini en entrée de printf(). Je sais pas comment on fait.

Répondre à kilian

3

fredo10, le mercredi 7 décembre 2005 à 19:56:16

Non je n'ai pas le droit d'utiliser fprintf et sprintf

Répondre à fredo10

4

kilian, le mercredi 7 décembre 2005 à 20:00:34

Et fwrite?

Répondre à kilian

5

toto, le mercredi 7 décembre 2005 à 20:55:37

A la place de printf() tu fait cout<<".... ";

Répondre à toto

6

kilian, le mercredi 7 décembre 2005 à 21:10:23

C'est du C++ cout, pas du C :-)

Répondre à kilian

7

toto, le mercredi 7 décembre 2005 à 21:15:59

Eh ben mm pour le c ca marche
simplement fait un test !!!

Répondre à toto

11

tafiscobar, le jeudi 8 décembre 2005 à 14:02:06

Le cout c'est juste pour le C++. Le C ne les connais pas. tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!

Répondre à tafiscobar

8

kilian, le mercredi 7 décembre 2005 à 21:35:34

kilian@Tourte:~/Desktop$ gcc test.c -o test
test.c:1:22: error: iostream.h: Aucun fichier ou répertoire de ce type
test.c: In function 'main':
test.c:5: error: 'cout' undeclared (first use in this function)
test.c:5: error: (Each undeclared identifier is reported only once
test.c:5: error: for each function it appears in.)


Même chose si j'enlève le .h de iostream.
Après, je ne sais pas, peut être que je n'ai pas la bibliothèque manquante....

EDIT: en fait si je l'ai, mais elle n'est prise en compte que par g++ (donc mon compilateur c++, mais pas par gcc, mon compilateur c)

Répondre à kilian

9

fredo10, le jeudi 8 décembre 2005 à 13:45:20

Mais franchement moi je ne comprend rien de tout ce ke vous ecrivez la vous pouvez m'expliquer un peu s'il vous plait? merci.

Répondre à fredo10

14

kilian, le jeudi 8 décembre 2005 à 18:46:08

En fait en C++, tu peux afficher quelque chose à l'écran en faisant comme ceci:

cout << "truc à afficher";

Pour moi c'est du C++ et pas du C, mais je me trompe peut être.

En tout cas, on ne t'aurais pas donné cet exercice si c'était aussi simple :-)

Répondre à kilian

10

tafiscobar, le jeudi 8 décembre 2005 à 13:55:01
  • +1

Salut, pour le nombre variable d'arguments, on utilise l'entete stdarg.h, tas une petite explication ici http://homepage.mac.com/pierremousel/LangC/LangCArgumentsVar­.html

Si tu maitrises cette techique le reste sera juste du cas par cas. tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!

Répondre à tafiscobar

12

fredo10, le jeudi 8 décembre 2005 à 14:23:21

J'ai vu le lien, effectivement c'est ce qui est autorise pour le code, mais je ne suis pas vraiment en mesure d'utiliser pour recoder mon printf et c'est le gros probleme.

Répondre à fredo10

15

kilian, le jeudi 8 décembre 2005 à 18:54:32

Le premier argument de printf c'est le format.
Avec la chaine du genre "machin %s bidule"

Donc là il faut que tu prennes chaque caractère l'un après l'autre pour le mettre dans un buffer (une variable tableau, dynamique de préférence, donc à allouer avec malloc() et realloc() s'il le faut par la suite).
Et dés que tu tombes sur un '%' alors il faut analyser la lettre après. En fonction de ça il faut aller chercher l'argument correspondant et le formatter.
Par exemple si c'est un %s, tu prends l'argument correspondant, normalement un pointeur vers un tableau de caractère, et tu charges son contenu dans le buffer.
Si c'est un %d, là tu as affaire à une variable dont la valeur devra être convertie en ascii avant d'être chargée dans le buffer.

J'espère que tu as déjà vu ce genre de trucs en cours...

Pour d'autres arguments comme %f, donc un float je ne vois pas trop comment faire par contre.

Répondre à kilian

13

toto, le jeudi 8 décembre 2005 à 17:50:26

En ce que concerne le cout<< ca marche pour le c et pour le c++
tout mes tp du langage c sous unix je les fait avec cin et cout

Répondre à toto

16

fredo10, le vendredi 9 décembre 2005 à 16:15:06

Je voudrais savoir cmt utiliser les varicaps pour recoder printf

Répondre à fredo10

17

kilian, le vendredi 9 décembre 2005 à 18:52:53

Tu as lu ce que j'ai ecris au dessus?

Répondre à kilian

18

 ced, le mardi 9 janvier 2007 à 12:46:56

Pour la sortie écran utlise putchar

Répondre à ced
[ C/Unix ] programmation système salut, bon je sais que c'est le genre de message peu apprécié mais là chui trop dans la merde. je cherche partout un cours de programmation systeme C/unix (processus, semaphore, tubes, signaux, threads) clair et concis (sans tous les détails complexes... www.commentcamarche.net/forum/affich-388482-c-unix-programmation-systeme
Introduction au langage C Petite histoire du C Le langage C a été mis au point par D.Ritchie et B.W.Kernighan au début des années 70. Leur but était de permettre de développer un langage qui permettrait d'obtenir un système d'exploitation de type UNIX portable. D.Ritchie... www.commentcamarche.net/contents/c/cintro.php3
Trouver la librairie <unistd.h> du langage C Bonjour, j'ai microsof visual C++ sous windows et mon compilateur ne reconnait pas la fonction sleep() de la librairie ...il reconnait pas la librairie aussi.. comment je peux faire pour trouver et insérer la librairie dans microsof visual... www.commentcamarche.net/forum/affich-523310-trouver-la-librairie-unistd-h-du-langage-c
Compiler du C sous Linux/UNIXSous Linux, le compilateur de C est gcc. Il est installé de base sur plusieurs distributions, mais sur Debian (et celles qui en découlent) il faudra l'installer (aptitude install gcc). gcc Syntaxe de GCC gcc Tout d'abord, il faut savoir... www.commentcamarche.net/faq/sujet-203-compiler-du-c-sous-linux-unix
Javascript - Convertisseur d'unités de mesures scientifiquesVoici un convertisseur d'unités de mesures scientifiques qui marche juste en Javascript et en local dans le navigateur, sans faire appel à du code serveur. On peut convertir n'importe quelle unité (ou combinaison) en n'importe quelle autre à la volée... www.commentcamarche.net/faq/sujet-1053-javascript-convertisseur-d-unites-de-mesures-scientifiques
La compilation et les modules en C et en C++Cet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du... www.commentcamarche.net/faq/sujet-14440-la-compilation-et-les-modules-en-c-et-en-c
Langage c les unionsBonjour, svp j ai ce pb avec les unions lorsque je declare une union je ne sais pas comment l utiliser dans le cadre des piles voici le code j ai une petite erreur au niveau des données et je ne sais pas s il fo par exemple empiler les 2 membres du... www.commentcamarche.net/forum/affich-6939942-langage-c-les-unions
Fonction Wait en C++ (Résolu)Salut tout le monde, j'ai un pb en C++. mon prog n'attend pas une ligne de commande, ce qui a pour effet qu'il continue comme si elle n'avait pas été la. du coup je voudrais mettre un truc du genre "Wait(temps)" quelqu'un connaitrai la commande et les... www.commentcamarche.net/forum/affich-651837-fonction-wait-en-c
[langage C] char tout simple svp...Bonjour à tous, Alors voilà mon code: #include void main() { char *x = "Salut"; printf("%c", x); getchar(); } Svp pk sa m'affiche un genre de truc comme sa : ">" Au lieu de m'afficher salut? merci à tous... www.commentcamarche.net/forum/affich-880795-langage-c-char-tout-simple-svp
Télécharger UnisonUnison est un logiciel de synchronisation de répertoires. Il est capable de travailler de manière bidirectionnelle, c'est à dire que vous pouvez effectuer des modifications dans les deux répertoires, et Unison les synchronisation... www.commentcamarche.net/telecharger/telecharger-236-unison
Les unités dans les feuilles de style (CSS)Les unités Grâce aux feuilles de style il est possible de définir des valeurs numériques pour les propriétés de style de plusieurs façons : de façon absolue, c'est-à-dire dans une unité indépendante du format de sortie (en centimètres par... www.commentcamarche.net/contents/css/css-unites.php3