Forum Programmation.c Gestion des erreurs de connection UDP

Posté par  .
Étiquettes : aucune
0
11
mar.
2005
Bonjour,

J'écris un programme en C permettant de vérifier si un port est ouvert en TCP ou UDP. Un gros un scanner.

La partie TCP fonctionne parfaitement mais pas pour l'UDP.

voici comment je fais :

value = sendto( sock , bufreq , strlen(bufreq) +1 , 0 , (struct sockaddr *)&server_in , sizeof( server_in ) );
if( value == -1 ){
printf("port fermé\n");
return -1;
}


En fait le port est toujours ouvert même quand il est fermé..
Bref, je (…)

Forum Programmation.c scanf et itération

Posté par  .
Étiquettes : aucune
0
8
mar.
2005
Bonjour, Le code ci-dessous est censé demander à l'utilisateur une lettre entre 'a' et 'g' que je convertis en entier(a=0, b=1, etc.) mais je n'otiens pas ça du tout. Je place ensuite ce chiffre en argument à une fonction. Le caractere 'entree' est pris en compte... Auriez-vous une idée? Je cherche depuis un bon moment déjà... Le code ci-dessous est raccourci:
int main() { char coup_joue; while(1) { printf("\n"); scanf("%c", &coup_joue); printf("\nchar = %c", coup_joue); printf("\nint == %d", coup_joue); } (…)

Forum Programmation.c Lecture d'un fichier texte par colonne (débutant)

Posté par  (site web personnel) .
Étiquettes : aucune
0
6
mar.
2005
Bonjour à tous,

Je débute dans le C, aussi ai-je une question basique mais qui me pose beaucoup de problèmes.
Je dispose d'un fichier de données comportant deux colonnes de chiffres (entier ou flottants), séparés par un séparateur qui peut être une espace, un tab ou une virgule.

Je voudrais lire ce fichier pour stocker les valeurs de chaque colonne dans un tableau.
Pour l'instant, je n'arrive qu'à lire ligne par ligne...

Voici ce que j'ai :


int main()
{
(…)

Forum Programmation.c Probleme Alsa avec Allegro

Posté par  (site web personnel) .
Étiquettes : aucune
0
24
fév.
2005
Bonjour,

j'ai un probleme avec allegro et alsa. lorsque je souhaite lancer un .wav, mon programme plante magistralement, bien que précédemment la routine install_sound(DIGI_AUTODETECT,MIDI_AUTODETECT,NULL) me retourne bien 0, signe que ma carte son est bien reconnue (d'ailleurs digi_driver->name me retourne bien ALSA)

C'est lors du chargement du son que ca plante, càd ici :
SAMPLE *plop = NULL;
plop = load_sample("/home/patate/plop.wav");

[...]

play_sample(plop,255,128,1000,0); // paf ca plante :
ALSA lib rawmidi_hw.c:227:(snd_rawmidi_hw_open) open /dev/snd/midiC0D0 failed: No such device
Shutting down Allegro (…)

Forum Programmation.c Allegro et load_bitmap

Posté par  (site web personnel) .
Étiquettes : aucune
0
24
fév.
2005
Bonjour,

je me suis mis à allegro ce matin, et j'ai quelques soucis.
Quand je fais appel à load_bitmap, mon programme segfault mechamment.
Mon bout de code est le suivant :
BITMAP *sprite1=NULL;
sprite1=load_bitmap("plop.bmp",NULL);


Ca vient peut-ête du format de l'image qui ne serait pas un bitmap valide ? J'ai essayé avec du PCX, et idem, donc je ne sais pas si ca vient du format ou d'autre chose (j'ai essayé un chemin relatif, et absolu). Peut etre avez-vous une (…)

Forum Programmation.c free() or not free() ?

Posté par  (site web personnel) .
Étiquettes : aucune
0
22
fév.
2005
Bonjour,

on vient de me demander si il etait vraiment nécéssaire d'appeler free() en fin de programme, en argumentant sur le fait que l'OS devait faire le ménage.

J'avoue que pour ma part j'ai toujours placer un free pour chacun de mes malloc avant le return, et je n'ai jamais vraiment cherché a savoir si c'etait si utile que ca (dans ma tete les blocs non-désalloués restaient bloqués jusqu'au reboot de la machine..)

Donc j'aimerai une réponse sur la question, (…)

Forum Programmation.c Export de fonctions depuis un exécutable

Posté par  (site web personnel) .
Étiquettes : aucune
0
16
fév.
2005
Bonjour.

Je cherche à exporter des symboles (fonctions et variables - en C mais ca doit être pareil pour le C++) depuis un exécutable vers un so.
L'inverse est facile et largement documenté : deux coups de gcc/ar/ldconfig et c'est bon. Mais exe vers so est peu (pas) documenté et je n'y arrive pas à taton.
L'idée est de préciser à la compile des .so certaines fonctions de l'executable.

Est-ce que quelq'un sait si c'est possible et comment faire (un (…)

Forum Programmation.c format ascii accepté par scanf pour un double

Posté par  .
Étiquettes : aucune
0
15
fév.
2005
Pour lire des doubles depuis un fichier ASCII, je pense faire
double d;
scanf("%lf',&d);

Mais j'aimerais connaître les formats que scanf saura décrypter.
10
10.0
10.00000000000000000
1.E1
1.0D01
...

La réponse pourrait être une expression rationnelle.

Vous avez l'info ?
Ca dépend de libc, de la plateforme ?
Merci.

Forum Programmation.c Tutoriels SDL

Posté par  .
Étiquettes : aucune
0
14
fév.
2005
Bonjour,

Je souhaiterais me mettre à programmer avec la libSDL, aux vues de ce qu'elle offre mais j'ai le sentiment que c'est un peu la jungle côté documentation (Ne pas hésiter à me taper dessus si j'ai pas assez bien gougueulé). Vous auriez quelques tutoriels / documentations à me proposer? Quelques retours d'expériences / alternatives quant à son utilisation ?

Merci!

Forum Programmation.c MacOS X insomniaque

Posté par  .
Étiquettes : aucune
0
13
fév.
2005
Bonjour à tous,

Je n'arrive pas à faire dormir mes pthreads sous OS X. Pourtant j'ai essayé pas mal de trucs : select(), nanosleep(), usleep(), une tisanne bien chaude...
Connaissez vous une bonne berceuse pour réellement susprendre ces bougres ? Pour l'instant je triche en fixant la valeur de nanosleep à 100000 (soit 10ms, j'ai bon ?), mais mon application consomme quand meme plus de 10% de CPU (ce qui fait ramer PearPC encore plus, je vous laisse imaginer).

Autre (…)

Forum Programmation.c Problème d'include GTK sous debian sarge

Posté par  (site web personnel) .
Étiquettes :
0
10
fév.
2005
Bonjour a tous je suis en train d'apprendre GTK et j'ai quelques petits problème avec.....
au début de mon programme je défini l'include de gtk.h comme cela ::

#include gtk-2.0/gtk/gtk.h;

La pas de problème mon fichier s'inclus bien mais le problème aprés c'est ca quand je compil :

/usr/include/gtk-2.0/gtk/gtk.h:31:21: gdk/gdk.h: No such file or directory
/usr/include/gtk-2.0/gtk/gtk.h:32:32: gtk/gtkaboutdialog.h: No such file or directory
/usr/include/gtk-2.0/gtk/gtk.h:33:31: gtk/gtkaccelgroup.h: No such file or directory
/usr/include/gtk-2.0/gtk/gtk.h:34:31: gtk/gtkaccellabel.h: No such file or directory
.....
.....

Et j'en (…)

Forum Programmation.c requêtes mysql dans un programme c ou c++

Posté par  (site web personnel) .
Étiquettes :
0
8
fév.
2005
bonjour
Je cherche à faire des requêtes SQL dans une base de donnée mysql dans un programme en C.?
Quelqu'un saurait il comment faire?
J'ai installé libmysqlclient14-dev sur ma Debian cela suffit t'il?
Quel paramétre faut t il donner à gcc pour qu'il compile comme il faut? --mysql ?
Quelqu'un aurait il un exemple très simple de programme fesant une requête?

Forum Programmation.c De l'usage des #include

Posté par  .
Étiquettes : aucune
0
8
fév.
2005
Bonjour,

Je suis entrain de coder une application, mais je me r ends compte (non sans désarroi !), que les premières lignes de mes ".c" sont rapidement envahies par des "#include" à tout va.
Que ce soient des inclusions de bibilothèques standard (string, socket, stdio et consorts) à mes modules persos ("configuration.h", "network.h", ...etc), ça devient assez "lourd" (surtout pour la maintenance).

Comment font les grandes applications ? Il y a t il un .h qui fait lui-meme appel à (…)

Forum Programmation.c Creation de socket multicast

Posté par  .
Étiquettes : aucune
0
6
fév.
2005
Bonsoir,

Voila je cherche à créer un socket qui écoute du sur une adresse multicast...

J'ai trouvé plein d'info mais certaines sont parfois contradictoires...

j'ai donc 2 questions...

1° Est il préferable de faire le bind() avant ou après d'avoir join le groupe multicast avec setsockopt()?

2° Sur quel adresse faut il faire le bind? sur INADDR_ANY ou sur l'adresse du groupe? (je comprends pas tres bien ce qui est mis la: http://docs.hp.com/en/B2355-90136/ch05s05.html(...))

Merci d'avance

Forum Programmation.c HTTP, Mozilla vs Konqueror

Posté par  .
Étiquettes : aucune
0
4
fév.
2005
Bonjour à tous,

J'ai encore un petit problème avec mon serveur :)

Pour le tester, j'ai fait un mini plugin HTTP qui envoie du html chaque fois qu'il reçoit quelque chose. Il marche avec Konqueror, mais pas avec Mozilla... et je n'arrive pas à trouver pourquoi.

J'ai consulté la RFC, et apparemment il faut renvoyer quelque chose du type :
HTTP/1.1 200 OK
Date: %s
Server: %s
Content-Type: text/html
Content-Length: %i


J'aimerais comprendre la différence de comportement entre les deux (…)

Forum Programmation.c Copie rapide de tableau

Posté par  (site web personnel) .
Étiquettes : aucune
0
3
fév.
2005
Bonjour, j'ai un gros tableau de char, je me dis, "tiens ce serait plus rapide de mettre mes valeurs dedans en les castant en tant qu'unsigned long, ça ira beaucoup plus vite (on a des proc 32 bits, c'est stupide de ne pas en profiter) "

Donc, j'aimerai comprendre pourquoi quand j'écris


#include stdio.h;

char tab[4096000];

int main(void)
{
int i;
char c;
for(i=0;i<;4096000;i++) tab[i]='c';
for(i=0;i<;4096000;i++) printf("%d",tab[i]);
c = getchar();

for(i=0;i<1024000;i++) (unsigned long)tab[i<<2]=(unsigned long)(45);
c = getchar();
for(i=0;i<4096000;i++) printf("%d",tab[i]);
return (…)

Forum Programmation.c Libxxxx.so.0.0.0 et Libxxxx.so.0 - Question stupide

Posté par  (site web personnel) .
Étiquettes : aucune
0
2
fév.
2005
J'ai une question de débutant à laquelle je n'ai pas trouvé de réponse sur le net ou avec mes amis/collegues.

Est ce que quelqu'un connaitrait la raison pour laquelle les compilos créés des .X.X.X à la fin des libs ?
libvcard.so.0 -> libvcard.so.0.0.0
libvcard.so.0.0.0

On a émis l'idée d'un système de version mais dans l'exemple de vcard je ne comprendrais pas vraiment l'intérêt (il y a plein d'autres exemples comme ca dans /var/lib/)

Est ce que quelqu'un aurait LA raison (…)

Forum Programmation.c Parsing des fichiers de config

Posté par  .
Étiquettes : aucune
0
1
fév.
2005
Salut,

Je voulais savoir comment vous parsez vos fichiers de config en C. J'ai regardé comment font quelques projets, ils ont tous l'air d'implémenter leurs propres méthodes assez barbares.

Je développe en C/GTK+, mais pour utiliser ceci:
http://developer.gnome.org/doc/API/2.0/glib/glib-Key-value-file-par(...)
je dois passer à 2.6, ce qui ne m'arrange pas.

Sinon, j'ai trouvé ces deux-là :
http://www.nongnu.org/confuse/(...)
http://ndevilla.free.fr/iniparser/(...)

La premiere m'a l'air plus complexe, mais plus puissante.

Vous, vous utilisez quoi comme solution simple dans vos projets perso ?

Franck

Forum Programmation.c allumage d'une LED ??

Posté par  .
Étiquettes : aucune
0
1
fév.
2005
bonjour,

je suis en train de faire une petite linux box. Mon souhait serait qu'une fois que la distrib a fini de booter, une petite led s'allume.
Donc il faut que j'arrive a controler l'allumage ou non d'une led (+3V ou +5V) a partir d'un port interne quelconque de ma carte mère (Asus P4P800VM). Pbme : j'y connais que dalle en electronique et je me sens incapable sans aide de me lancer en C dans la programmation d'un port MIDI (…)

Forum Programmation.c Bibliothèques statiques & dynamiques

Posté par  (site web personnel) .
Étiquettes : aucune
0
26
jan.
2005
Voila, j'ai un problème ...
J'essaie de compiler une petite application qui est liée a une bibliothèque faite maison (raydium).

En gros, je compile ma lib et ensuite, je crée libraydium.a et libraydium.so.

Un problème c'est que raydium est lui-même lié statiquement à libphp.a et à libode.a. Il faudrait donc que libraydium.a contienne les deux autres bibliothèques.
Comment faire pour inclure le contenu d'une archive .a (ode et php) dans une autre archive .a (raydium) ?


Un autre problème: lorsque (…)

Forum Programmation.c Question existentiel sur le coding style de GNOME

Posté par  (site web personnel) .
Étiquettes : aucune
0
25
jan.
2005
Bonjour,

je cherche depuis longtemps à comprendre pourquoi le coding style de Gnome utilise la convention suivante :

Un espace est placé entre de nom de la fonction et la parenthèse. Exemple :

foo (arg1, arg2);

à la place de

foo(arg1, arg2);

Certain d'entre vous vont trouver cette question totalement idiote, mais pour ma par je trouve la deuxième solution plus lisible que la première car j'identifie tout de suite que c'est une fonction.

J'aimerai donc comprendre les raisons de (…)

Forum Programmation.c Conception de gros projets en C

Posté par  .
Étiquettes :
0
24
jan.
2005
Bonjour à vous tous,

Depuis quelques temps, je développe en C. J'aimerai pouvoir réaliser des applications dans ce langage de la manière la plus propre possible à savoir, comme les grandes applications (Mozilla, OpenOffice.org, ...).

J'entends par là :
- Phase de génie logiciel / Conception de l'architecture
- Gestion de fichiers de langues (support des variables d'environnement LC_*)
- Parsing du fichier de configuration avec Flex et Bison
- Développement d'une application modulaire avec possibilité d'y greffer des plug-in
(…)

Forum Programmation.c remplir une chaine de int *

Posté par  (site web personnel) .
Étiquettes : aucune
0
8
jan.
2005
Mon but est de convertir un 'long' en une chaine de 'int' et il me semble que mon code ne fait pas du tout ce qui est escompté ; du moins strlen retourne 1 au lieu de 4. Codes concernés :
unsigned int * long_to_pigendian (unsigned long ze_entier ) { unsigned int * to_ret; to_ret=malloc (4*sizeof (unsigned int *)); to_ret[0] =ze_entier / (256*256*256); ze_entier-=to_ret [0]*(256*256*256); to_ret[1] =ze_entier / (256*256); ze_entier-=to_ret [1]*(256*256); to_ret[2] = ze_entier / (256); ze_entier-=to_ret [2]*(256); to_ret[3] = (…)

Forum Programmation.c Le mystère du pointeur global

Posté par  .
Étiquettes : aucune
0
30
déc.
2004
Bonjour à tous :)

J'ai encore un problème étrange pour lequel je n'arrive pas à trouver de documentation...

J'utilise dans mon programme une structure server_t avec plein de choses dedans. J'ai fait une collection de fonctions ServerFaitQuelqueChose pour modifier cette structure. Pour plus de confort, et étant donné qu'il ne peut n'y avoir qu'une structure server_t fonctionnelle à la fois, j'ai déclaré un pointeur global appelé this qui pointe dessus. Auparavant, quand tout allait bien, tout ceci se trouvait dans (…)