Bonjour à tous,
je ne comprend pas l'origine de la "segmentation fault" qui m'est envoyé lorsque j'essaye de compiler le programme ci dessous quelqu'un pourrait il m'éclairer? :
#include <stdio.h>
#include <math.h>
double partition (double, double, double);
double expo (double, double, double,double);
int main()
{
int i,j;
double t[4],t1[4],P[4];
double z2=0.0,Kb=1.0,T=1.0;
FILE *f_in1,*f_in2,*f_out1;
FILE *f_in, *f_out;
/*printf("dimensions de la matrice?");
scanf("%i",&N1);*/
f_in=fopen("ei.txt","r");
fscanf(f_in,"%f", &t[i]);
for (i=0; i<=(4); i++)
{
z2=(z2+partition (t[i],Kb,T));
}
f_in2=fopen("ei.txt","r");
f_out1=fopen("proba_ei.txt","w");
fscanf(f_in2,"%f",&t1[j]);
for (j=0;j<=(4);j++)
{
P[j]=((exp(-t1[j]/(Kb*T)))/z2);
}
(…)
Forum Programmation.c Acquisition Webcam
Salut a tous,
Je doit développer un logiciel qui doit acquérir des images de la webcam sur événement utilisateur (image de préférence en BMP ou PPM pour effectuer des opération dessus).
A l'heure actuel j'utilise un fork+exec pour effectuer la commande streamer, mais celle-ci met environ 2 secondes à s'éxécuter, ce qui est beaucoup trop long.
Je n'arrive pas a trouver de la documentation sur comment récupérer des images a partir de la cam.
De plus une fois l'acquisition terminé (…)
Je doit développer un logiciel qui doit acquérir des images de la webcam sur événement utilisateur (image de préférence en BMP ou PPM pour effectuer des opération dessus).
A l'heure actuel j'utilise un fork+exec pour effectuer la commande streamer, mais celle-ci met environ 2 secondes à s'éxécuter, ce qui est beaucoup trop long.
Je n'arrive pas a trouver de la documentation sur comment récupérer des images a partir de la cam.
De plus une fois l'acquisition terminé (…)
Forum Programmation.c Programme C et date en Francais
Bonjour,
J'ai un programme simple :
J'aimerais que la date soit en français. Et actuellement, j'ai l'affichage suivant :
Je ne comprands pas bien mon erreur, et je ne souhaiterais pas modifier le code C.
Pour information, (…)
J'ai un programme simple :
include <stdio.h>
#include <time.h>
#include <locale.h>
int main(void)
{
char* local;
time_t t;
time(&t);
local=setlocale(LC_ALL, "");
printf("la date et l'heure courante sont : %s\t %s\n", ctime(&t), local);
return 0;
}
J'aimerais que la date soit en français. Et actuellement, j'ai l'affichage suivant :
la date et l'heure courante sont : Thu Apr 12 09:09:45 2007
fr_FR.UTF-8
Je ne comprands pas bien mon erreur, et je ne souhaiterais pas modifier le code C.
Pour information, (…)
Forum Programmation.c Requêtes http dans un programme en C
Bonjour,
Dans le cadre d'un (petit) projet pour les cours je doit réaliser un programme en C qui soit capable de lire le code source d'une page web, puis de récupérer dans ce code source des informations qui nous intéressent (genre la température qu'il fera demain sur le site de météo france).
Je suis donc partis à la recherche d'une librairie qui pourrai m'aider à réaliser cela, et j'ai trouvé libcurl :http://curl.haxx.se/libcurl/
Déjà, première question : est ce que (…)
Dans le cadre d'un (petit) projet pour les cours je doit réaliser un programme en C qui soit capable de lire le code source d'une page web, puis de récupérer dans ce code source des informations qui nous intéressent (genre la température qu'il fera demain sur le site de météo france).
Je suis donc partis à la recherche d'une librairie qui pourrai m'aider à réaliser cela, et j'ai trouvé libcurl :http://curl.haxx.se/libcurl/
Déjà, première question : est ce que (…)
Forum Programmation.c compilation multi architecture : Organisation d'arborescence pour éviter la duplication de codes sources
bonjour,
je travaille actuellement en développement croisé avec une cible de type arm.
J'ai besoin pour cela de modifier le code source de projets existants et il m'est nécessaire de recompiler ces sources pour 2 architectures (i386 et arm).
j'ai donc mis en place une arborescence de ce type sur mon projet :
build
=i386
=debug
=src
et
build
=arm
=debug
=src
mon problème est que j'ai donc dans les 2 répertoires src une duplication des sources. Mon projet comportant (…)
je travaille actuellement en développement croisé avec une cible de type arm.
J'ai besoin pour cela de modifier le code source de projets existants et il m'est nécessaire de recompiler ces sources pour 2 architectures (i386 et arm).
j'ai donc mis en place une arborescence de ce type sur mon projet :
build
=i386
=debug
=src
et
build
=arm
=debug
=src
mon problème est que j'ai donc dans les 2 répertoires src une duplication des sources. Mon projet comportant (…)
Forum Programmation.c Pthread vs IPC sys V
Bonjour,
Je développe actuellement un logiciel. J'ai besoin de traiter une pile / file de messages à envoyer à une partie serveur pour les traiter.
Je dois cependant attendre une confirmation de la réception du message pour le valider.
Première solution, j'utilise un thread qui tourne tout le long de mon programme et qui regarde sur une pile mise en static quelque part dans une fonction. Cette pile est remplie au fur et à mesure par mon programme. J'en arrive (…)
Je développe actuellement un logiciel. J'ai besoin de traiter une pile / file de messages à envoyer à une partie serveur pour les traiter.
Je dois cependant attendre une confirmation de la réception du message pour le valider.
Première solution, j'utilise un thread qui tourne tout le long de mon programme et qui regarde sur une pile mise en static quelque part dans une fonction. Cette pile est remplie au fur et à mesure par mon programme. J'en arrive (…)
Forum Programmation.c Problem avec send()
Je dois realiser un programme qui permettrait d'envoyer des messages d'un server a un client.
Apparement ma fonction send() renvoie toujours -1 je n'arrive pas a savoir pour quoi, si vous pouviez m'aider. Voici le code du coté client.
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#define bufLength 1024
void makeLocalSocketAdress(struct sockaddr_in *sa){
sa->sin_family =AF_INET;
sa->sin_port=htons(0); // any port or port 2222 ????? htons(atoi(argv[1]))
sa->sin_addr.s_addr = htonl(INADDR_ANY); // on (…)
Apparement ma fonction send() renvoie toujours -1 je n'arrive pas a savoir pour quoi, si vous pouviez m'aider. Voici le code du coté client.
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#define bufLength 1024
void makeLocalSocketAdress(struct sockaddr_in *sa){
sa->sin_family =AF_INET;
sa->sin_port=htons(0); // any port or port 2222 ????? htons(atoi(argv[1]))
sa->sin_addr.s_addr = htonl(INADDR_ANY); // on (…)
Forum Programmation.c wait(), mais pas sur un fils
Hello world,
J'ai honte de vous poser une question qui m'a l'air vraiment aussi conne (alors que j'ai cherché !), mais comment attendre l'arrêt d'un processus quelconque à partir de son pid?
(waitpid, wait, wait4 et wait3 ne marchant que sur un processus fils)
(Autrement que for(;open("/proc/" + pid) != ENOENT;); s'il vous plait ;))
J'ai honte de vous poser une question qui m'a l'air vraiment aussi conne (alors que j'ai cherché !), mais comment attendre l'arrêt d'un processus quelconque à partir de son pid?
(waitpid, wait, wait4 et wait3 ne marchant que sur un processus fils)
(Autrement que for(;open("/proc/" + pid) != ENOENT;); s'il vous plait ;))
Forum Programmation.c Donne livre "Jeux d'arcade en C"
Bonjour,
Si quelqu'un le veut, je donne le livre "Jeux d'arcade en C" de Diana Gruber, en français, édité par Sybex en 1995.
Il date un peu et n'aborde que la programmation des jeux en 2D, mais constitue une bonne entrée en la matière. Ne vous attendez pas coder un clone de Quake 3, mais plutôt un clone de Super Mario...
Je peux envoyer le livre par la poste ou bien remettre le livre en main propre sur Paris /RP.
(…)
Si quelqu'un le veut, je donne le livre "Jeux d'arcade en C" de Diana Gruber, en français, édité par Sybex en 1995.
Il date un peu et n'aborde que la programmation des jeux en 2D, mais constitue une bonne entrée en la matière. Ne vous attendez pas coder un clone de Quake 3, mais plutôt un clone de Super Mario...
Je peux envoyer le livre par la poste ou bien remettre le livre en main propre sur Paris /RP.
(…)
Forum Programmation.c échanges asynchrones entre 2 threads
Bonjour,
En C, je voudrais faire un échange entre 2 threads de la manière suivante :
- le thread A écrit des messages dans une pile
- le thread B dépile et traite les messages
- de manière asynchrone
- le thread B ne doit pas faire une boucle consommatrice de CPU pour vérifier la présence de messages
ma question ne porte pas sur la pile, mais sur le fonctionnement asynchrone.
j'ai essayé avec des mutex, mais ça ne marchait (…)
En C, je voudrais faire un échange entre 2 threads de la manière suivante :
- le thread A écrit des messages dans une pile
- le thread B dépile et traite les messages
- de manière asynchrone
- le thread B ne doit pas faire une boucle consommatrice de CPU pour vérifier la présence de messages
ma question ne porte pas sur la pile, mais sur le fonctionnement asynchrone.
j'ai essayé avec des mutex, mais ça ne marchait (…)
Forum Programmation.c Masquer stdout puis réafficher.
Bonjour,
Dans un morceau de code, l'utilisateur doit taper un mot de passe, je ne voudrais pas qu'il s'affiche, pour ce faire, j'emploie ce code :
Dans un morceau de code, l'utilisateur doit taper un mot de passe, je ne voudrais pas qu'il s'affiche, pour ce faire, j'emploie ce code :
...
for (i = 0; i < 3; i++) {
printf("Password (ne s'affiche pas): ");
if((password = read_password()) == EOF)return FALSE;
if (strlen(password) == 1) {
printf("Erreur \n");
continue;
}
password[strlen(password) - 1] = '\0';
...
}
return FALSE;
}
/* Return EOF si problème */
char* read_password(){
int sortie;
char * password = (…)
Forum Programmation.c portabilité
Bonjour!
J'ai fait programme qui reçoit et envoie des paquets icmp. Je veux le rendre portable sur le système BSD! Quel sont les "includes" et directives du pré-processeur qu'il faut ajouter? et quoi encore?
merci
J'ai fait programme qui reçoit et envoie des paquets icmp. Je veux le rendre portable sur le système BSD! Quel sont les "includes" et directives du pré-processeur qu'il faut ajouter? et quoi encore?
merci
Forum Programmation.c comportement 'aléatoire'
Bonjour,
je ne comprend pas pourquoi le programme ci-dessous se termine parfois correctement, parfois avec une erreur de segmentation (core dumped).
Quelqu'un pourrait-il m'expliquer d'où vient le problème ?
Y-aurait-il une limitation de la taille des tableaux (8 Mo ?) ?
Merci d'avance
je ne comprend pas pourquoi le programme ci-dessous se termine parfois correctement, parfois avec une erreur de segmentation (core dumped).
int main()
{
double tab[1047575];
tab[0] = 0;
return 0;
}
Quelqu'un pourrait-il m'expliquer d'où vient le problème ?
Y-aurait-il une limitation de la taille des tableaux (8 Mo ?) ?
Merci d'avance
Forum Programmation.c Lecture de fichier binaire
Bonjour!
Je suis en train de faire un convertisseur d'un format de fichier binaire vers ascii, et je dois lire un float codé sur 2 bytes.
J'ai donc le code suivant:
Avec prt un pointeur sur void.
Lorsque j'édite mon fichier avec khexedit, cela commence comme ceci:
Et mon programme m'affiche ces mêmes lignes de la façon suivante:
Je suis en train de faire un convertisseur d'un format de fichier binaire vers ascii, et je dois lire un float codé sur 2 bytes.
J'ai donc le code suivant:
size=2;
ptr=(short int *)malloc(size);
fread(ptr,(size_t)size,1,data_file);
printf("%02X ",*((short int *)ptr));
free(ptr);
Avec prt un pointeur sur void.
Lorsque j'édite mon fichier avec khexedit, cela commence comme ceci:
47d0 63e8 6fa0 43e8 45dc 6fa0 ...
Et mon programme m'affiche ces mêmes lignes de la façon suivante:
FFFFD047 FFFFE863 FFFFA06F FFFFE843 FFFFDC45 (…)
Forum Programmation.c cc, as et ld
Bonjour,
Je dois compiler le programme suivant :
J'utilise les commandes suivantes :
Pas de problèmes à ce stade. Par contre l'utilisation de la commande ld s'avère délicate. J'ai finalement réussi à m'en servir de cette façon :
Je dois compiler le programme suivant :
#include "stdio.h";
long int factorielle(int n) {
if (n<2) return 1; else return n*factorielle(n-1);
}
int main(int argc, char *argv[]){
int i;
printf("Hello World!\n\n");
for(i=0;i<10;i++)
printf("%i! = %li\n",i,factorielle(i));
return 0;
}
J'utilise les commandes suivantes :
cc -c -S toto.c
as -o toto.o toto.s
Pas de problèmes à ce stade. Par contre l'utilisation de la commande ld s'avère délicate. J'ai finalement réussi à m'en servir de cette façon :
ld -o toto (…)
Forum Programmation.c Algo / Determiner le plus grand rectangle d'une région
Bonjour
Je recherche un algo qui me permettrais de determiner le rectangle le plus grand d'un polygone.
Malheureusement je manque de vocabulaire concernant l'algorithmie.
Pouvez vous me donner des pistes, des liens ou du vocabulaire pour faire mes recherches svp ?
J'ai trouvé la fonction gdk-region-get-clipbox mais en fait elle retourne l'inverse.
http://developer.gnome.org/doc/API/2.0/gdk/gdk-Points-Rectan(...)
Merci de votre aide.
Je recherche un algo qui me permettrais de determiner le rectangle le plus grand d'un polygone.
Malheureusement je manque de vocabulaire concernant l'algorithmie.
Pouvez vous me donner des pistes, des liens ou du vocabulaire pour faire mes recherches svp ?
J'ai trouvé la fonction gdk-region-get-clipbox mais en fait elle retourne l'inverse.
http://developer.gnome.org/doc/API/2.0/gdk/gdk-Points-Rectan(...)
Merci de votre aide.
Forum Programmation.c Taille d'une video
Bonjour à tous,
Je cherche, à partir d'un programme écrit en C à obtenir la taille d'un fichier video. J'ai essayé avec libavformat et libavcodec. Mais j'obtiens un segmentation fault.
Voici le code, crée sur base de cet exemple : http://www.inb.uni-luebeck.de/~boehme/avcodec_sample.cpp:
av_register_all();
fprintf(stdout,"OK av_register\n");
// Open video file
if(av_open_input_file(&pFormatCtx, current_file, NULL, 0, NULL)!=0)
fprintf(stderr,"Erreur av_open_input");
else if(av_find_stream_info(pFormatCtx)>0)
{
// Dump information about file onto standard error
dump_format(pFormatCtx, 0, current_file, FALSE);
fprintf(stdout,"Done\n");
}
else
fprintf(stderr,"Erreur av_find_stream");
La ligne à laquelle survient (…)
Je cherche, à partir d'un programme écrit en C à obtenir la taille d'un fichier video. J'ai essayé avec libavformat et libavcodec. Mais j'obtiens un segmentation fault.
Voici le code, crée sur base de cet exemple : http://www.inb.uni-luebeck.de/~boehme/avcodec_sample.cpp:
av_register_all();
fprintf(stdout,"OK av_register\n");
// Open video file
if(av_open_input_file(&pFormatCtx, current_file, NULL, 0, NULL)!=0)
fprintf(stderr,"Erreur av_open_input");
else if(av_find_stream_info(pFormatCtx)>0)
{
// Dump information about file onto standard error
dump_format(pFormatCtx, 0, current_file, FALSE);
fprintf(stdout,"Done\n");
}
else
fprintf(stderr,"Erreur av_find_stream");
La ligne à laquelle survient (…)
Forum Programmation.c Editer un fichier binaire à l'aide de templates
Bonjour,
J'utilise actuellement sous win l'utilitaire Hackman Templates Editor qui permet de décrire le contenu d'un fichier binaire à l'aide d'un fichier de type template.
Lorsque l'on applique ce template au fichier binaire, la visualisation et la modification de ce dernier en est grandement facilité mais les opérations sont quand même réduites...
Existe-t-il, en Open Source, un outil graphique qui proposerait les mêmes fonctionnalités de base et qui permettrait en plus de faire un 'rechercher/remplacer' puissant sur un bloc particulier (…)
J'utilise actuellement sous win l'utilitaire Hackman Templates Editor qui permet de décrire le contenu d'un fichier binaire à l'aide d'un fichier de type template.
Lorsque l'on applique ce template au fichier binaire, la visualisation et la modification de ce dernier en est grandement facilité mais les opérations sont quand même réduites...
Existe-t-il, en Open Source, un outil graphique qui proposerait les mêmes fonctionnalités de base et qui permettrait en plus de faire un 'rechercher/remplacer' puissant sur un bloc particulier (…)
Forum Programmation.c Killer un processus sans fermer la socket ?
Salut à tous. Dans le cadre d'une reproduction d'incident je tente de flooder un serveur avec des mauvaise deconnection. Donc pour se faire j'ai un process maitre qui creer des fils - qui se connectent donc, et puis au bout d'un certain tps le maitre fait un kill des process avec le signal SIGKILL. Le probleme c'est qu'en tuant ses processus fils, les socket sont fermées proprement et c'est ce que j'aimerais éviter. Quelqu'un a t il une idee ? (…)
Forum Programmation.c modifier une variable
Préambule : j'ai jamais programmé de ma vie en C mais la, j'ai un petit besoin.
Objectif : plutot que le répertoire crée soit /home/user, qu'il soit /home/eleve/user
-> je suis dans les sources du module d'authentification pam_mkhomedir
dans le programme, la variable dirigeant la création est :
"dir". Elle a pour forme : /home/user
or j'aimerai intercalé la chaine "eleve/" pour que ca me donne /home/eleve/user
comment qu'on fait ?
La fonction :
Objectif : plutot que le répertoire crée soit /home/user, qu'il soit /home/eleve/user
-> je suis dans les sources du module d'authentification pam_mkhomedir
dans le programme, la variable dirigeant la création est :
"dir". Elle a pour forme : /home/user
or j'aimerai intercalé la chaine "eleve/" pour que ca me donne /home/eleve/user
comment qu'on fait ?
La fonction :
void
copymkdir(char const * dir, char (…)
Forum Programmation.c Programmation multiprocesseur
Bonjour,
J'ai une petite question de débutant a laquelle je n'arrive pas a trouver la réponse : en C comment on optimise son code pour des multiprocesseurs ?
En fait je précise : j'ai un ordi qui a deux processeurs double-coeur (donc ca fait au total...). On fork ? on utilise les threads ?
Merci !
J'ai une petite question de débutant a laquelle je n'arrive pas a trouver la réponse : en C comment on optimise son code pour des multiprocesseurs ?
En fait je précise : j'ai un ordi qui a deux processeurs double-coeur (donc ca fait au total...). On fork ? on utilise les threads ?
Merci !
Forum Programmation.c Pointeurs et gestion mémoire
Bonjour à tous,
j'ai écris un code en fortran 90 et j'ai récemment décidé de lui ajouter une belle
interface gtk. Rien de plus simple pourrait on dire ... au détail près qu'il faut que je
'traduise' mon code fortran en C. Connaissant le langage C je ne m'inquiète pas
trop pour autant .. toute fois une question me démange:
Dans mon code en fortran j'alloue la mémoire dynamiquement de façon casi-systématique.
Ceci est très facile en fortran y compris (…)
j'ai écris un code en fortran 90 et j'ai récemment décidé de lui ajouter une belle
interface gtk. Rien de plus simple pourrait on dire ... au détail près qu'il faut que je
'traduise' mon code fortran en C. Connaissant le langage C je ne m'inquiète pas
trop pour autant .. toute fois une question me démange:
Dans mon code en fortran j'alloue la mémoire dynamiquement de façon casi-systématique.
Ceci est très facile en fortran y compris (…)
Forum Programmation.c saisie de chaine et correction d'erreur autonome
Bonjour,
Je travaille sur un "bout" de code pour faire une saisie long int et gérer l'erreur de frappe (comme une lettre ou deux ou trois dans la saisie).
pour ça j'ai écrit un petit bout de code TESTEUR (compilable)
1ère idée Envoyer l'utilisateur se faire voir (un peu barbare) ;)
2ème idée un peut plus interessante vérifier que tous les caractères de la chaine sont des chiffres
Ca marche mais il est impossible de traiter l'erreur.
3éme idée et (…)
Je travaille sur un "bout" de code pour faire une saisie long int et gérer l'erreur de frappe (comme une lettre ou deux ou trois dans la saisie).
pour ça j'ai écrit un petit bout de code TESTEUR (compilable)
1ère idée Envoyer l'utilisateur se faire voir (un peu barbare) ;)
2ème idée un peut plus interessante vérifier que tous les caractères de la chaine sont des chiffres
Ca marche mais il est impossible de traiter l'erreur.
3éme idée et (…)
Forum Programmation.c problème de struct et d'alignement
Dans ce petit programme, j'ai une erreur étrange (pour moi):
Me donne:
% gcc test.c && ./a.out
val: 134520856
Si je supprimme a, b ou c de la (…)
#include <stdio.h>;
typedef struct {
int row;
int col;
} *Pos;
typedef struct {
char* t;
int a;
int b;
int c;
Pos cur;
} *Doc;
int main(int argc, char *argv[])
{
Doc doc = malloc(sizeof(Doc));
Pos cur = malloc(sizeof(Pos));
cur->;row = 1;
doc->cur = cur;
printf("val: %d", doc->;cur->;row);
return 0;
}
Me donne:
% gcc test.c && ./a.out
val: 134520856
Si je supprimme a, b ou c de la (…)
Forum Programmation.c Question pour C gourou !
Bonjour,
J'ai un problème un peu compliqué a résoudre, ca fait quelques semaines que je suis dessus.
Voilà, j'ai dans les eaux de 1000 fichiers .csv dans un repertoire qu'il faut que je charge en mémoire pour pouvoir faire des traitements dessus.
Les données sont conservees dans chaque fichier sous la forme
char[10] char[10] int float float float float
char[10] char[10] int float float float float
char[10] char[10] int float float float float, etc.
La solution que j'ai trouvé était (…)
J'ai un problème un peu compliqué a résoudre, ca fait quelques semaines que je suis dessus.
Voilà, j'ai dans les eaux de 1000 fichiers .csv dans un repertoire qu'il faut que je charge en mémoire pour pouvoir faire des traitements dessus.
Les données sont conservees dans chaque fichier sous la forme
char[10] char[10] int float float float float
char[10] char[10] int float float float float
char[10] char[10] int float float float float, etc.
La solution que j'ai trouvé était (…)