Salut à tous,
j'ai acheté le livre de Christophe Blaess ( en personne ) sur la programmation système.
Je suis tombé sur un truc intéressant page 695-696-697 du bouquin dans le chapitre 23 intitulé "Communication classique entre processus" concernant une "possibilité rarement proposée par les shell". Selon moi, à première vue, il s'agissait seulement de ce à quoi pourrait faire face un simple fichier ".sh". Mais en me penchant un peu sur la question, je me suis rendu compte des (…)
Forum Programmation.c tableau,structure,pointeur.
Bonjour a toutes et a tous,
Je souhaiterai modifier ce code afin d'utiliser non pas "menbre1, menbre2 etc… mais plutot un tableau qui contiendrai chacun de mes menbres . Voici le code:
#include <stdio.h>
#include <string.h>
typedef struct famille
{ int age;
char surnom[20];
char nom[20];
}famille;
/*-----------------------*/
void changement(famille *m)
{ m->age=18;
strcpy(m->surnom,"plouf");
strcpy
(…)
Forum Programmation.c fopen et umask : vers la réconciliation après dispute ?
Sachant que le umask est déjà correctement posé et que je ne veux le faire qu'avec les options de fopen....
Je cherche mais je ne trouve pas, donc merci d'avance !
Forum Programmation.c une sphère en opengl ...
j'ai un cours d'intro a synthèse d'image et je dois créer une série de figures et volumes en opengl : c'est a dire en utilisant seulement
glBegin(GL_..);
...
glvertex3f...;
...
glEnd();
j'ai fais très vite les autres volumes et figures mais pas moyen de faire cette putain de sphère !
je n'arrive pas a exprimer mes points [x,y,z] en fonctions de alpha,béta (angle en (…)
Forum Programmation.c récupérer la liste des utilisateurs connectés sur un poste windows distant
En fait, dans le cadre du développement de NuFW (http://www.nufw.org(...)), j'ai besoin de récupérer la liste des utilisateurs connectés à un PC sous microsoft. Je n'ai pas trouvé de solution élégante et assez "sûre".
L'idéal serait de pouvoir obtenir la réponse du contrôleur de domaine, mais tout autre solution me conviendrait....
Cette fonction est la dernière pièce manquante pour rajouter à NuFW un nouveau mode permettant le (…)
Forum Programmation.c Problème avec le renvoi au menu principal
Bonjour.
Je veux écrire un programme qui affiche le menu suivant:
1- Résolution d'un polynôme de 1er degré
2- Résolution d’un polynôme de 2nd degré
3- Quitter
Après avoir fait un de ces traitement, le programme doit interroger l'utilisateur s’il veut continuer ou non. Si oui, il le renvoi au menu principal sinon il met fin à l’exécution.
J’ai fait un premier essai mais mon programme ne fait pas ça : dans un premier temps, il fait correctement le traitement (…)
Forum Programmation.c Warnings de compilation et résultat incorrect
Bonjour,
Je souhaite écrite un programme qui à partir d’un tableau d’entiers d’au moins un entier, fournit le nombre de sous-séquences croissantes de ce tableau, ainsi que les indices de début et de fin de la plus grande sous-séquence.
J'ai eu des warnings de compilation dans 3 lignes (warning: assignment makes pointer from integer without a cast [-Wint-conversion]) et le résultat est incorrect, ça me donne toujours 0.
Aidez-moi SVP! je vous remercie.
Voilà mon code:
#include <stdio.h>
void soussequences
(…)
Forum Programmation.c Puissance 4, problème avec l'affichage du gagnant
Bonjour,
Je suis en train d créer un puissance 4 en C mais le problème est que quand il y a 4 pions alignés le programme ne s'arrête pas en affichant le gagnant, le programme continue jusqu'à ce que la grille soit remplie.
Mais je ne vois pas le problème dans ma fonction aGagne.. Auriez vous des solutions à me proposer ?
Merci d'avance !
Mon code :
void init (int ttint_plateau[N][N]){
int int_i
(…)
Forum Programmation.c C : gestion du répertoire de travail
Bonjour à tous,
Je recherche le moyen le plus simple (au sens "moins de lignes de code") de récupérer le répertoire de travail d'un programme.
Supposons que le programme ait besoin d'ouvrir un fichier data.txt situé dans le même répertoire que l'exécutable. Le plus simple est d'écrire :
f=fopen("data.txt","r");
Mais si j'appelle le programme d'un autre emplacement que celui de l'exécutable, ça ne marche pas. Il faut donc récupérer le répertoire de travail.
Voici les deux méthodes les plus simples (…)
Forum Programmation.c implémentation d'une liste chaînée en langage c
bonjour,
je me suis acheté un bouquin: "Maîtrise des algorithmes en C" de Kyle Loudon.
j'arrive au 5eme chapitre qui parle des listes chaînées… je comprends l'algorithme, mais lors qu'il s'agit de le faire fonctionner, je tombe sur une erreur de libération de pointeur.
L'algorithme est le suivant:
list.h:
#ifndef __LIST
#define __LIST
typedef struct ListElmt_{
void *data;
struct ListElmt_ *next;
} ListElmt;
typedef struct List_{
int size;
ListElmt
(…)
Forum Programmation.c binutils: Recherche windres désespérement !
Bon voila, j'en suis toujours à essayer de faire d'un beau serveur tout neuf (un quadri-Xeon à 3Ghz chacun, tout de même) sous Fedora Core 2, une machine dédiée au développement. Cela avait commencé ici: https://linuxfr.org/forums/19/3820.html(...)
Jusqu'à présent, cela se présente bien, mais je compte construire une flopée (enfin au moins trois) de compilateurs gcc, pour bâtir des exécutables destinés à différentes plateformes, dont Win32.
Cela commence donc par la mise en place des outils de binutils (…)
Forum Programmation.c connect() sur une socket
#define SOCK "./masocket" int fd,len; struct sockaddr_un sa; char buf[]="hello"; fd = socket(PF_UNIX, SOCK_STREAM, 0); len=sizeof(sa); sa.sun_family=AF_UNIX; strcpy(sa.sun_path,SOCK); bind(fd,(struct sockaddr *)&sa,len) listen(fd,5); connect(fd,(struct sockaddr *)&sa,len);Après compilation, connect() me renvoie un EINVAL (Invalid argument), alors que si je le supprime dans ce programme, et que j'en crée un second séparé qui fait le connect() (il fait tout pareil, sauf connect() à la place de listen(), un client (…)
Forum Programmation.c Bien s'entourer en c, et plus si affinités
je me présente : Attilagab
passionné d'info (mais vrai girouette semble t il ... tant en 2d/3d ou autre), visiteur anonyme de linuxfr.org tous les jours (sissi)
je me remets à l'apprentissage de la programmation C
(non je ne changerais pas de langage)
après 2jours de recherches dans bien des sites concernant le C (ici même dans le forum c, celui de developper.com,
commentcamarche.com, et bien d'autres)
Après m'être perdu dans les sites concernant les RFC/ISO/IEEE,l'unicode
et bien d'autres
(…)
Forum Programmation.c Problème avec la fonction system et esd
J'utilise la fonction system dans mon code c pour effectuer des appels à mon serveur audio et pour jouer des sons en fonction d'événements particuliers ( par exemple pour le lancer le demon audio system(esd /dev/dsp) )
Aléatoirement j'ai le messge suivant en sortie de la fonction system : No child process.
J'utilise la REDHAT WS3
N'ayant plus d'idée pour avancer, je suis à l'écoute de toutes vos suggestions
Cordialement,
Forum Programmation.c problème aléatoire d'utilisation de la zlib
je tente d'écrire un bout de code qui utilise la zlib afin de compresser/décompresser des fichiers. Vu que je souhaite accéder à ces fichiers (de plusieurs Go) de manière aléatoire, j'ai choisi de découper le fichier à compresser en blocs (de 32ko, par exemple) puis de compresser chacun des blocs indépendament, en maintenant une table qui indique pour chaque bloc son offset dans le fichier, et sa taille compressée.
déjà, si il existe une meilleure méthode que celle que (…)
Forum Programmation.c scanf s'arrête au espaces
(debian)
#include <stdio.h>
int main(void)
{
char *toto;
scanf("%s",toto);
printf("\n%s\n",toto);
return 0;
}
montaigne@unixsrv:~$ ./testscan
ceci est un test
ceci
montaigne@unixsrv:~$
là je comprend pas : si je me souviens bien, espace est le caractère 32, par le caractère 0.
Est-ce un bug, est-ce normal, y-a t il une solution ?
Forum Programmation.c Problème de récupération de buffer
J'utilise la fonction XFetchBuffer() pour récupérer le contenu du buffer et l'afficher dans ma console. Malheureusement, elle ne marche pas comme je le souhaite.
Voici le code que je compile:
'
#include "X11/Xlib.h"
#include "strings.h"
#include "stdio.h"
#include "sys/file.h"
Display *display;
char * p;
main()
{
int l;
if ( (display=XOpenDisplay(NULL)) == NULL )
{
fprintf(stderr, "basic: can't connect to x server %s\n",XDisplayName(NULL));
exit(-1);
};
p = XFetchBuffer( display, &l, 0 );
printf( "The chars are : %s\n", p);
(…)
Forum Programmation.c Message bizarre du système
binding file ./toto to /lib/tls/libc.so.6: normal symbol `fprintf' [GLIBC_2.0]
resultats : 42 24 84
binding file ./toto to /lib/tls/libc.so.6: normal symbol `free' [GLIBC_2.0]
Je précise que :
- la compilation est faite avec l'option -Wall et ne renvoie pas d'avertissement
- les 2 fonctions en question ne sont pas les seules de la libC à etre utilisées
- le programme semble etre à meme (…)
Forum Programmation.c glib: problem avec GArray
Voila, je suis nouveau sur glib, et c'est tellement bien foutu que ca
rend le C utilisable ! Mais tout n'est pas rose, et je n'arrive pas a
affecter une valeur dans un tableau.
Voila ce que je veux faire: un tableau de listes, genre:
0: "toto", "tata", "titi"
1: "popo", "papa", "pipi"
2:.....
(en fait de "toto" "tata", j'ai des pointeurs vers un type GaloisNode que j'ai defini.)
Donc j'ai une variable buckets:
GArray* buckets = g_array_new(FALSE, FALSE, (…)
Forum Programmation.c sscanf et expressions régulières
J'ai un petit souci avec la fonction sscanf...
J'ai un fichier qui peut contenir 2 ou 3 champs toujours séparés par des tabulations.
Je lis chaque ligne avec fgets puis met chaque valeurs dans une variable grâce à sscanf.
Le problème c'est que mon 2eme champ peut contenir un espace...
dans ce cas sscanf prend seulement la première partie du champ2
comment faire pour que sscanf prenne cet espace ??
Voici la partie du code qui pose problème :
(…)
Forum Programmation.c putenv marche pas !
J'ai quelques soucis avec un programme de mon cru censé utiliser putenv().
J'ai beau essayer putenv("plouf=plop"), un echo $plouf reste désésperement vide.
Comment puis-je utiliser putenv comme je le souhaite ?
Merci.
Forum Programmation.c Ecriture d'un module
je voudrais essayer de modifier mon kernel, pour en apprendre un peu plus sur son fonctionnement.
Pour cela, pour être propre, je voudrais implémenter le corps de mes modifs dans un module, et placer quelques trappes dans le kernel. De cette manière, je pourrai compiler une fois pour toute mon nouveau kernel, et ensuite tester mon module à souhait.
Mais voila, j'ai un problème, je n'arrive pas à construire le Makefile de mon module. Pour l'instant, le module ne (…)
Forum Programmation.c Foutue libxml2 (et foutu systeme d'XP)
Bon aujourd'hui l'heure est grave j'ai plus assez d'XP pour poster un commentaire, donc ceux qui repondront, je les remercierais/rerepondrais par message privé
Bon bref entrons dans le vif du sujet
J'ai un probleme d'xpath dans la libxml2:
dans le fichier http://svn.fnux.org/softwares/unstable/init/config/init.xml(...)
Quand j'applique le chemin xpath: /init/services/alsa/starter/text()
Il ne me retourne rien
Enfin si! Il me retourne un ensemble de noeud (un noeud en fait) le noeud texte
Seulement je voudrais recuperer le stringval du xmlobject, c'est (…)
Forum Programmation.c librairie introuvable
je tente de compiler un ptit programme maison utilisant libnet, et bien qu'ayant installé libnet1 et libnet1-dev, gcc me dit toujours la meme chose :
gcc -o plop plop.c
/tmp/ccUr4juG.o(.text+0x41): In function `main':
: undefined reference to `net_init'
/tmp/ccUr4juG.o(.text+0x65): In function `main':
: undefined reference to `net_loadconfig'
/tmp/ccUr4juG.o(.text+0x89): In function `main':
: undefined reference to `net_detectdrivers'
/tmp/ccUr4juG.o(.text+0xad): In function `main':
: undefined reference to `net_initdrivers'
collect2: ld a retourné 1 code d'état d'exécution
J'ai essayé de passer la librairie (…)
Forum Programmation.c Déverminer une bibliothèque
J'aimerai utiliser opencv pour faire de la reconnaissance visuelle avec mon portable ibook G4 et une webcam.
Après avoir bien chercher une bibliothèque me permettant de faire cela, j'ai trouver opencv. Permet de se servir de la webcam, de la calibrer, lire et écrire des images, les filtrer, trouver les bords et transformation de hough, accès bas niveaux aux pixels de l'image, ...
Problème, elle marche un peu mal sur ppc:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=254772(...)
Comment trouver ce genre de vers, (…)