Voici mon problème : je souhaite écrire du binaire dans un fichier, octet par octet, j'utilise donc fputc de la lib c (ou fwrite quand j'en ai plusieurs d'un coup sous la main). Sous UNIX, aucun problème, tout passe. Par contre en essayant de porter mon programme sous Windows, fputc et ses petits camarades (fwrite ou fprintf) remplace systématiquement 0x0a par le couple 0x0d-0x0a et mon binaire devient illisible par des programme tiers qui s'attendent à trouver 0x0a seulement.
Je (…)
Forum Programmation.c Problème avec la libglade et GtkFileChooserWidget
Bonjour,
J'utilise Glade pour faire mon interface graphique, et la libglade pour la charger.
Mon problème est que si je place un GtkFileChooserWidget dans mon interface, celui n'est pas affiché lorsque je lance mon appli, et pour cause, libglade me dit : libglade-WARNING **: unknown widget class 'GtkFileChooserWidget'. Les autres éléments par contre sont bien affichés.
Comme je suis totalement novice en programmation GTK, j'oublie sûrement quelque chose, mais je ne vois pas quoi.
Pour infos, j'inclus :
#include <gtk/gtk.h>
(…)
J'utilise Glade pour faire mon interface graphique, et la libglade pour la charger.
Mon problème est que si je place un GtkFileChooserWidget dans mon interface, celui n'est pas affiché lorsque je lance mon appli, et pour cause, libglade me dit : libglade-WARNING **: unknown widget class 'GtkFileChooserWidget'. Les autres éléments par contre sont bien affichés.
Comme je suis totalement novice en programmation GTK, j'oublie sûrement quelque chose, mais je ne vois pas quoi.
Pour infos, j'inclus :
#include <gtk/gtk.h>
(…)
Forum Programmation.c pb de sortie standard
Bonjour,
En vue de réaliser un programme en C, sur Linux Mandrake 10.0, je le compile avec gcc. Mais lors de l'exécution, rien ne se passe.
J'ai alors écrit un petit programme de base :
Qui ne donne rien sur le terminal. Le terminal est lancer sous KDE.
Quelqu'un peut-il m'aider ? Je ne comprends pas le problème par rapport à l'entrée/sortie standard.
Merci de votre aide pour un piètre débutant.
(…)
En vue de réaliser un programme en C, sur Linux Mandrake 10.0, je le compile avec gcc. Mais lors de l'exécution, rien ne se passe.
J'ai alors écrit un petit programme de base :
#include stdio.h
int main (void)
{ printf ("bonjour"); }
Qui ne donne rien sur le terminal. Le terminal est lancer sous KDE.
Quelqu'un peut-il m'aider ? Je ne comprends pas le problème par rapport à l'entrée/sortie standard.
Merci de votre aide pour un piètre débutant.
(…)
Forum Programmation.c Caractères imprimables qui passent pas
Bonjour,
Je dois faire un jolie cadre en C. Le problème c'est que mon système ne gère pas correctement les caractères (qui ne sont pas des caractère clavier).
exemple :
printf( "%c" , 196); // pour afficher un trait vertical
printf( "%c" , 217); // pour afficher un angle inférieur droit
A la place, sont affiché des caractère étrange (non imprimable?)..
Si vous avez une explication, et surtout si vous connaissez la façon pour résoudre ce problème : A VOS (…)
Je dois faire un jolie cadre en C. Le problème c'est que mon système ne gère pas correctement les caractères (qui ne sont pas des caractère clavier).
exemple :
printf( "%c" , 196); // pour afficher un trait vertical
printf( "%c" , 217); // pour afficher un angle inférieur droit
A la place, sont affiché des caractère étrange (non imprimable?)..
Si vous avez une explication, et surtout si vous connaissez la façon pour résoudre ce problème : A VOS (…)
Forum Programmation.c Fourberies de libpthread...
Bonsoir à tous,
J'ai quelques soucis de portabilité avec la libpthread, et j'aurais besoin de votre expérience pour déterminer ce qui ne va pas dans mon utilisation de cette bibliothèque.
Mon petit serveur écoute grace à un thread dédié, qui boucle sur accept et enregistre les sockets récupérés dans un tableau.
Quand je quitte mon application, accept() étant bloquant, je suis dans l'obligation de faire un pthread_cancel() sur ce thread (et pour etre propre, un pthread_join() juste derrière). Normalement, accept() (…)
J'ai quelques soucis de portabilité avec la libpthread, et j'aurais besoin de votre expérience pour déterminer ce qui ne va pas dans mon utilisation de cette bibliothèque.
Mon petit serveur écoute grace à un thread dédié, qui boucle sur accept et enregistre les sockets récupérés dans un tableau.
Quand je quitte mon application, accept() étant bloquant, je suis dans l'obligation de faire un pthread_cancel() sur ce thread (et pour etre propre, un pthread_join() juste derrière). Normalement, accept() (…)
Forum Programmation.c Terminé
Bonsoir à tous,
J'ai enfin fini mon projet tutoré pour l'IUT, il est assez stable maintenant (j'entend par là que je n'arrive plus à le faire planter mais qu'il reste surement des bugs fourbes tapis dans les recoins sombres).
Je l'ai mis sous GPL dans mon coin, mais je me disais que ça pourrait etre sympa de le rendre disponible sur internet si ça intéresse quelques personnes. Donc en fait, je voudrais savoir si mon bousin vaut le coup d'etre (…)
J'ai enfin fini mon projet tutoré pour l'IUT, il est assez stable maintenant (j'entend par là que je n'arrive plus à le faire planter mais qu'il reste surement des bugs fourbes tapis dans les recoins sombres).
Je l'ai mis sous GPL dans mon coin, mais je me disais que ça pourrait etre sympa de le rendre disponible sur internet si ça intéresse quelques personnes. Donc en fait, je voudrais savoir si mon bousin vaut le coup d'etre (…)
Forum Programmation.c projet shell
J'ai un projet à rendre et je ne compren rien à l'énoncé qui m'a été donné! Si quelqu'un pourrait m'aider à y voir plus clair cela m'arrangerai beaucoup.
Las de fournir des efforts superflus, j'ai décidé de créer une commande :
# NEWPROG
# chargée de préparer mes fichiers programme en C ou en shell. Le synopsis est
# >$ newprog [ -c | -s ] i
# dont les caractéristiques sont les suivantes :
# - prépare un fichier (…)
Las de fournir des efforts superflus, j'ai décidé de créer une commande :
# NEWPROG
# chargée de préparer mes fichiers programme en C ou en shell. Le synopsis est
# >$ newprog [ -c | -s ] i
# dont les caractéristiques sont les suivantes :
# - prépare un fichier (…)
Forum Programmation.c Libtar
Bonjour,
Quelqu'un connaiterait une sorte de libtar?
En fait j'ai déjà vu libtar le premier résultat de google, seulement elle est vraiment mal fait:
-L'API d'accès est pas des plus concis, mais bon
-On ne peut mettre les données en mémoire
-Il ne détécte pas tout seul la compression, et l'utilisation d'une compression 'basique' (gzip/bzip2) est tout sauf simple (il faut faire des wrapper d'ouverture, lecture, écriture et fermeture)
-lié à ce qui est au dessus, il est difficile de (…)
Quelqu'un connaiterait une sorte de libtar?
En fait j'ai déjà vu libtar le premier résultat de google, seulement elle est vraiment mal fait:
-L'API d'accès est pas des plus concis, mais bon
-On ne peut mettre les données en mémoire
-Il ne détécte pas tout seul la compression, et l'utilisation d'une compression 'basique' (gzip/bzip2) est tout sauf simple (il faut faire des wrapper d'ouverture, lecture, écriture et fermeture)
-lié à ce qui est au dessus, il est difficile de (…)
Forum Programmation.c Parcourir un dvd iso9660
Bonjour,
Je cherche a faire un programme qui permet d'accéder à un DVD ISO9660 sur un système qui ne supporte pas ce FS.
Il faut donc que j'implémente les bonnes libs. Je pense utiliser libcdio.
Malheureusement je suis débutant dans ce genre de programmation, et je n'avance pas d'un pouce.
Si vous pouviez me donner des infos, how to, tuto, exemple cela m'aiderait grandement.
Mon but étant de faire un explorateur, qui me permettra de parcourir le dvd.
Merci d'avance
Je cherche a faire un programme qui permet d'accéder à un DVD ISO9660 sur un système qui ne supporte pas ce FS.
Il faut donc que j'implémente les bonnes libs. Je pense utiliser libcdio.
Malheureusement je suis débutant dans ce genre de programmation, et je n'avance pas d'un pouce.
Si vous pouviez me donner des infos, how to, tuto, exemple cela m'aiderait grandement.
Mon but étant de faire un explorateur, qui me permettra de parcourir le dvd.
Merci d'avance
Forum Programmation.c analyse de paquet sortant
Bonjour, je cherche à capter du trafic sortant dans un programme. Pour l'instant j'arrive à capter le trafic entrant avec recvfrom, mais je ne sais pas comment détecter le traffic sortant. Est ce qu'il existe des options qui permettent de faire ca avec recvfrom (un man recvfrom n'a rien donné, j'ai essayé de remplacer les flags dans la fonction par ceux MSG_OOB etc mais ca n'a rien donnée). Est ce qu'il existe une autre fonction qui permette de capter le (…)
Forum Programmation.c programmation temps réel sous RTAI
bonjour j'utilise des fonctions fournies par le système temps réel RTAI Linux ceci est équivalent à la programmation C sous Linux, j'espère que quelqu'un qui connais à la programmation C pourra me rependre. mon problème concerne la fonction rt_task_init son role est l'initialisation d'une tache dont le prototype est int rt_task_init (RT_TASK *task, void(*rt_thread)(int), int data, int stack_size, int priority, int uses_fpu, void(*signal)(void)) . la fonction qui correspond à la tache je la déclare comme suit void tache(int ID) ou (…)
Forum Programmation.c passer une struct dans une shared memory POSIX
Salut, j'ai un probleme pour faire passer et recuperer une structure dans une shared memory POSIX. J'ai 3 process (pour l'instant) : PS1 recoit des donnees saisies au clavier , les met dans une structure et la passe au PS2 par un tube nommé (jusque la pas de prob). PS2 ouvre et mappe une shared memory et y passe la structure recuperee sur le tube PS3 recupere la structure dans la shared memory et affiche le resultat Les 3 ps (…)
Forum Programmation.c Gestion du joker '*'
Bonjour !
Comment faire pour gérer le fait qu'un utilisateur peut appeler un programme en le faisant suivre d'une * pour qu'il traite tous les fichiers d'un répertoire ?
J'ai essayé en considérant que unix remplacait l'étoile par une suite d'arguments mais ca ne semble pas être le cas .....
Comment faire pour gérer le fait qu'un utilisateur peut appeler un programme en le faisant suivre d'une * pour qu'il traite tous les fichiers d'un répertoire ?
J'ai essayé en considérant que unix remplacait l'étoile par une suite d'arguments mais ca ne semble pas être le cas .....
Forum Programmation.c Probleme de lecture fichier
Bonjour, je suis tout nouveau ici, de meme que je suis novice en c et étant en stage actuellement je bute sur la prog.
Voilà mon probleme j'ai des fichiers de données dont les 1eres lignes sont du baratin, puis ensuite les donnees:
FORMAT-1
2004-07-15 11:09:15 0
BLS900
1 11 0
file generated by Scintec BLSRUN
Main Data
Scintillation Index Beta # beta # # S # 1
(Cn^2) # (Cn^2) # m^-2/3 # S # 1
Cn^2 corr. # (…)
Voilà mon probleme j'ai des fichiers de données dont les 1eres lignes sont du baratin, puis ensuite les donnees:
FORMAT-1
2004-07-15 11:09:15 0
BLS900
1 11 0
file generated by Scintec BLSRUN
Main Data
Scintillation Index Beta # beta # # S # 1
(Cn^2) # (Cn^2) # m^-2/3 # S # 1
Cn^2 corr. # (…)
Forum Programmation.c Fauteuil roulant
Bonjour à tous :)
J'ai encore des problèmes, mais ce n'est plus du réseau cette fois-ci. Pour mon stage, je dois coder une application qui permettrait à un robot de suivre un fauteuil roulant (il tourne avec un Pentium III). J'ai pour l'instant codé un gradient et une recherche de zone basée sur la couleur, en utilisant les algos de Bresenham pour que ça soit plus léger.
Je suis donc en mesure de trouver la zone où se trouve le (…)
J'ai encore des problèmes, mais ce n'est plus du réseau cette fois-ci. Pour mon stage, je dois coder une application qui permettrait à un robot de suivre un fauteuil roulant (il tourne avec un Pentium III). J'ai pour l'instant codé un gradient et une recherche de zone basée sur la couleur, en utilisant les algos de Bresenham pour que ça soit plus léger.
Je suis donc en mesure de trouver la zone où se trouve le (…)
Forum Programmation.c autoextractible : théorie
Bonsoir,
j'ai eu une idée de projet tout récemment qui nécéssite la création de binaires auto-extractibles.
J'avais déjà réalisé ce type de binaire, mais mon algorithme est limité aux petits fichiers (en fait je créé un code source C à la volée, avec dedans tous le nécéssaire pour extraire octet par octet un des fichiers archivés, et une fois le code généré je compile tout via gcc)
problème : bien que lors de l'extraction ce soit quasi-instantanné, lors de la (…)
j'ai eu une idée de projet tout récemment qui nécéssite la création de binaires auto-extractibles.
J'avais déjà réalisé ce type de binaire, mais mon algorithme est limité aux petits fichiers (en fait je créé un code source C à la volée, avec dedans tous le nécéssaire pour extraire octet par octet un des fichiers archivés, et une fois le code généré je compile tout via gcc)
problème : bien que lors de l'extraction ce soit quasi-instantanné, lors de la (…)
Forum Programmation.c IRQ en C
Bonjour,
Je dois rédiger un programme en C qui doit lire 4 ports series. Sur chaque ports série se trouve une balance. L'information est obtenue lorsqu'il y a une variation du poids sur la balance.
Exemple: Sur la balance A se trouve 100g de nourriture. Une sourie mange 10g. Sur A nous avons maintenant 90g. L'info est envoyé lorque le poid est stabilisé sur la balance.
Pour ne pas monopolisé le CPU en lecture sur les 4 ports, il faut (…)
Je dois rédiger un programme en C qui doit lire 4 ports series. Sur chaque ports série se trouve une balance. L'information est obtenue lorsqu'il y a une variation du poids sur la balance.
Exemple: Sur la balance A se trouve 100g de nourriture. Une sourie mange 10g. Sur A nous avons maintenant 90g. L'info est envoyé lorque le poid est stabilisé sur la balance.
Pour ne pas monopolisé le CPU en lecture sur les 4 ports, il faut (…)
Forum Programmation.c Gcc, les symboles, les underscores, et windows
Bonjour,
en compilant un programme maison ce matin au taf via cygwin, j'ai été obligé de retirer l'underscore qui débutait chacun des noms de mes variables externes, car gcc semblait me le rajouter à la compilation dans la table des symboles
Ainsi, si j'avais un export char _plop, après compilation
nm me trouvait le symbole __plop. Plutot génant pour linker ensuite, c'est ainsi que ld plantait lamentablement en me sortant un undefined reference to __plop
Bref, pourquoi ?
Merci.
en compilant un programme maison ce matin au taf via cygwin, j'ai été obligé de retirer l'underscore qui débutait chacun des noms de mes variables externes, car gcc semblait me le rajouter à la compilation dans la table des symboles
Ainsi, si j'avais un export char _plop, après compilation
nm me trouvait le symbole __plop. Plutot génant pour linker ensuite, c'est ainsi que ld plantait lamentablement en me sortant un undefined reference to __plop
Bref, pourquoi ?
Merci.
Forum Programmation.c Contrôler le port parallèle
Bonsoir à tous,
Je cherche à contrôler le port parallèle depuis un programme C, et notamment les lignes de contrôle (Strobe, Ack ...).
L'idée est de développer une interface de programmation pour programmateur PIC (des microcontrôleurs assez sympa) de type PROPIC2, qui change un peu de ça : http://www.propic2.com/ScreenShot.htm(...) et qui fonctionne sous Linux. Le programmateur lui-même se branche sur le port parallèle.
Le problème est que je souhaite produire quelque chose de relativement portable et que je n'ai (…)
Je cherche à contrôler le port parallèle depuis un programme C, et notamment les lignes de contrôle (Strobe, Ack ...).
L'idée est de développer une interface de programmation pour programmateur PIC (des microcontrôleurs assez sympa) de type PROPIC2, qui change un peu de ça : http://www.propic2.com/ScreenShot.htm(...) et qui fonctionne sous Linux. Le programmateur lui-même se branche sur le port parallèle.
Le problème est que je souhaite produire quelque chose de relativement portable et que je n'ai (…)
Forum Programmation.c Bugs étranges avec localtime()
Bonjour.
Nous avons un problème avec la fonction localtime. Le but de la fonctoin est de réafficher seulement les chiffres qui changent dans une horloge numérique.
Pour cela, nous avons crée la fonction suivante :
Mais, bien que les timestamps soient différents (ce qui est normal), localtime() nous renvoie la même structure.
Voici un log GDB :
Nous avons un problème avec la fonction localtime. Le but de la fonctoin est de réafficher seulement les chiffres qui changent dans une horloge numérique.
Pour cela, nous avons crée la fonction suivante :
void reaffiche_heure(time_t heurea, time_t heurep, WINDOW** chiffres) {
struct tm* sheurea = localtime(&heurea);
struct tm* sheurep = localtime(&heurep);
.......
}
Mais, bien que les timestamps soient différents (ce qui est normal), localtime() nous renvoie la même structure.
Voici un log GDB :
Breakpoint 1, reaffiche_heure (…)
Forum Programmation.c utilisation d'autoconf/automake
Bonjour,
Je voudrais utiliser automake et autoconf pour configurer un programme. Ce programme repose sur un ensemble de fichier installés à un endroit précis sur le disque (genre /usr/share/program/fichiers)
J'ai déjà réussi à faire en sorte qu'autoconf/make configure le tout pour que mes fichiers ailles dans $prefix/$datadir lors de l'installation. Je voudrais maintenant pouvoir récupérer la valeur de $prefix dans mon programme C (en l'écrivant dans le config.h, par exemple) pour pouvoir aller chercher mes fichiers lors de l'exécution.
Est-ce (…)
Je voudrais utiliser automake et autoconf pour configurer un programme. Ce programme repose sur un ensemble de fichier installés à un endroit précis sur le disque (genre /usr/share/program/fichiers)
J'ai déjà réussi à faire en sorte qu'autoconf/make configure le tout pour que mes fichiers ailles dans $prefix/$datadir lors de l'installation. Je voudrais maintenant pouvoir récupérer la valeur de $prefix dans mon programme C (en l'écrivant dans le config.h, par exemple) pour pouvoir aller chercher mes fichiers lors de l'exécution.
Est-ce (…)
Forum Programmation.c le port usb?
Salut à tous!
Je voudrais communiquer avec le port USB en C. J'utilise un module USB COMi (convertisseur USB =} COM) qui me permet de boucler par un système d'écho. J'ai déja tester le module avec cat et sa fonctionne. On remarque aussi le système d'écho, car il m'affiche plein de fois le même caractère.
Mais bon, voici mon code
Je voudrais communiquer avec le port USB en C. J'utilise un module USB COMi (convertisseur USB =} COM) qui me permet de boucler par un système d'écho. J'ai déja tester le module avec cat et sa fonctionne. On remarque aussi le système d'écho, car il m'affiche plein de fois le même caractère.
Mais bon, voici mon code
#include asm/io.h
#include unistd.h
#include stdlib.h
#include asm/fcntl.h
#include termios.h
main()
{
int numFichier,key=0,choix=0,i=0;
char port[]={"/dev/ttyUSB0"};
char texte[11], car;
i=ioperm(port,1,1);
(…)
Forum Programmation.c Libération de structures dynamiques
Bonjour,
J'ai un problème de libération de mémoire et je n'arrive pas à trouver mon erreur.
J'ai un tableau de struct de char (tout ça réparti dans plusieurs fonctions) :
struct Game { char * name; ... } struct Game* pGames[catCountGames(filename)+1]; ... struct Game * pGame = NULL; pGame = (struct Game*) malloc (sizeof(struct Game)); pGame->name = (char*) malloc(sizeof(char)*(strlen(ptr)+1)); ... pGames[indice++] = pGame;Or, quand je veux libérer la mémoire allouée pour name, c'est en fait ma structure qui est (…)
Forum Programmation.c copie de chaîne de caractère
salut à tous
Je voudrais savoir comment copier une chaîne de caractère et le coller dans un char[]
exemple :
char texte[256];
&texte="voila le texte que je veut ajouter";
Cette méthode ne fonctionne pas.
Quelqu'un aurait t-il le moyen ou la méthode pour effectuer cette opération ????
strcpy????
j'ai déjà essayer et il ne veut pas ! pourquoi ?????
Je voudrais savoir comment copier une chaîne de caractère et le coller dans un char[]
exemple :
char texte[256];
&texte="voila le texte que je veut ajouter";
Cette méthode ne fonctionne pas.
Quelqu'un aurait t-il le moyen ou la méthode pour effectuer cette opération ????
strcpy????
j'ai déjà essayer et il ne veut pas ! pourquoi ?????
Forum Programmation.c lecture d'un port
Salut à tous
Je voudrais pouvoir lire le port série ( J'ai relier 2 PC ensemble, l'un envoie l'autre réceptionne).
Je ne comprends pas comment faire la lecture du port série.
Lorsque il lis, le PC reste bloquer sur fread(....); et fini, plus rien.
Je lis de cette façon :
J'écris comme ça :
Et fp :
J'ai encore une autre question :
Comment fonctionne le protocole de (…)
Je voudrais pouvoir lire le port série ( J'ai relier 2 PC ensemble, l'un envoie l'autre réceptionne).
Je ne comprends pas comment faire la lecture du port série.
Lorsque il lis, le PC reste bloquer sur fread(....); et fini, plus rien.
Je lis de cette façon :
char buffer[128];
j=fread(buffer, 1, 1, fp);
J'écris comme ça :
i=fwrite( &car, 1, 1, fp);
Et fp :
fp=fopen("/dev/ttyS0","w+");
J'ai encore une autre question :
Comment fonctionne le protocole de (…)