Forum Programmation.c regex.h Lazy Mode

Posté par  .
Étiquettes :
0
24
mar.
2006
Bonjour,
J'essaye d'utiliser les regex de regex.h en lazy mode i.e. :
si j'ai une chaine : "tititototatatoto" et que ma regex est "(.*?)toto",
je voudrais matcher juste titi et pas tititototata en back ref.

Avec ce petit programme perl ca marche, ca affiche titi:
perl -e '$_="tititototatatoto"; m/(.*?)toto/; print $1,"\n";'

avec ce programme C ca marche pas :
#include <regex.h>
int main(){
regex_t preg; regmatch_t pmatch[2];
regcomp (&preg, "(.*?)toto" , REG_EXTENDED|REG_ICASE);
regexec (&preg, "tititototatatoto", 2, pmatch,0);
size_t len = (…)

Forum Programmation.c utilisation de libtar

Posté par  .
Étiquettes : aucune
0
21
mar.
2006
Bonjour,

J'essaye avec difficulté d'utiliser la librairie libtar, pour créer des archives, ajouter des fichiers, lire le contenu de l'archive...

Je n'ai pas trouvé de réelle documentation, ni d'exemple clair pouvant m'aider..
Est-ce que quelqu'un pourrais me poster un bout de code pour m'aider à démarrer ?

merci de votre aide.

Forum Programmation.c Port serie, Asynchrone, Thread

Posté par  .
Étiquettes : aucune
0
12
mar.
2006
Bonjour a tous/tes

Je suis en train d'écrire une application C/C++ qui dialogue avec une interface électronique par le biais d'un port série /dev/ttyS0. Il s'agit d'une communication asynchrone, même si dans 90% des cas, c'est mon application qui émet une trame puis l'interface qui répond.


J'ai pour le moment trouvé que deux solutions, mais aucunes des deux me semble correcte. Cependant, je vous les expose.

Première)
1 Je lis de manière bloquante le fichier /dev/ttS0 pendant 1 seconde.
2 (…)

Forum Programmation.c Rendre un parametre de programme obligatoire

Posté par  (site web personnel) .
Étiquettes : aucune
0
16
mar.
2006
Bonjour

Je cherche à rendre une option obligatoire dans les arguments passés à un programme.

J'ai donc le code suivant :


#include <libgnome/libgnome.h>

int main(int argc, char **argv)
{
GOptionContext *context = g_option_context_new ("pelemele");

int hauteur = 0;

GOptionEntry entries[] =
{
{ "hauteur" , 'h', 0, G_OPTION_ARG_INT, &hauteur, "hauteur du fond", NULL },
{ NULL }
};
g_option_context_add_main_entries (context, entries, NULL);
gnome_program_init("pelemele", "0.0.1", LIBGNOME_MODULE, argc, argv, GNOME_PARAM_GOPTION_CONTEXT, context, GNOME_PARAM_NONE );
g_option_context_free(context);
}


Mais je ne vois pas du tout (…)

Forum Programmation.c charge CPU en C

Posté par  .
Étiquettes : aucune
0
15
mar.
2006
Bonjour,

j'aimerais savoir comment puis-je acceder le plus transparament possible à la charge du CPU à un instant t (ou disons une moyenne), depuis une application (userland) écrite en C.
Je pense que pourrais parser le fichier /proc/stat mais je trouve un peu lourd... il n'y a pas une API (ou un truc comme les monitors de Windows où une simple API permet de récupérer cette information).

Je précise que l'application tourne en tant que root, en mode console sans (…)

Forum Programmation.c Broadcast UDP sur de multiples interfaces

Posté par  (site web personnel) .
Étiquettes : aucune
0
15
mar.
2006
Salutations,

Comme l'exprime déjà le titre, je cherche à réaliser des broadcasts UDP. J'utilise pour ça la méthode que j'imagine être classique, c'est à dire :
setsockopt(raydium_network_socket,SOL_SOCKET,
SO_BROADCAST,&on,sizeof(on));
... à destination de ...
struct sockaddr_in sock;
sock.sin_family=AF_INET;
sock.sin_addr.s_addr=htonl(INADDR_BROADCAST);
sock.sin_port=htons(RAYDIUM_NETWORK_PORT);
... avec un sendto(). Tout fonctionne parfaitement, à un détail près : sur les machines avec plusieurs interfaces réseau, les broadcasts partent uniquement sur la première interface (eth0, par exemple). Je ne trouve rien de particulier dans la page ip(7) à (…)

Forum Programmation.c contrôle d'un process Java par un process C

Posté par  .
Étiquettes : aucune
0
9
mar.
2006
salut à tous !

je travail sur un projet qui fait tourner des processus C et un process java.

Aujourd'hui quand le process java plante, les autres processus ne peuvent pas reperer son plantage parcequ' il n' a pas de process pere.

Ce que j'aimerais c'est pouvoir lancer le processus java à partir d'un process C et avoir un code retour vers le processus qui le lance en cas de plantage... Et pouvoir redemarrer le processus java éventuellement automatiquement par (…)

Forum Programmation.c Choix de port pour un serveur

Posté par  .
Étiquettes : aucune
0
4
mar.
2006
Bonjour je suis débutant en programmation, j'ai un petit serveur à écrire en C, et je voulais savoir si il y avait une règle particulière pour choisir le port par défaut du serveur ormis le fait qu'il soit au dessus de 1024.

Merci d'avance.

Forum Programmation.c Sauver un Gtkliststore

Posté par  .
Étiquettes : aucune
0
6
mar.
2006
Bonjour,

Je suis débutant en programmation c (c et non c++), cependant, en utilisant glade
et anjuta, j'ai réussi à faire fonctionner une petite application utilisant gnome et gtk (2.8).

Ma question est simple :

Y a-t-il un moyen de sauver un gtkliststore (je suppose que c'est là ou les données sont stockées ?) sans le parcourir ? (Car ça serait très utile.)

J'ai essayé notamment ça :


void sauver_liste_courtier(const gchar *filename)
{
FILE *fp;
fp = fopen(filename,"w");
fwrite(courtiers_list, sizeof(courtiers_list), (…)

Forum Programmation.c Xlib qui me rend malade...

Posté par  .
Étiquettes : aucune
0
27
fév.
2006
Bonjour lé zami,

je suis en train d'écrire un panel personnalisé qui est sensé me permettre des fonctionnalités telle que :
- Accès protégé à certaines tâches dépendemment des privilèges de connexion
- Algorithme de disposition des fenêtres ouvertes avec redimensionnement.

Dans mon cas, le panel entre en action si le nombre de tâches X window est supérieur à n. il devient donc visible. Si le nombre de fenêtre devient inférieur à n, le panel se cache en bas du (…)

Forum Programmation.c Appel systeme send ()

Posté par  .
Étiquettes : aucune
0
16
fév.
2006
bonjour a tous,
je realise des appels systemes send () en C, en tres grande quantite (petit programme test de debit reseau). je suis sur 2 PC en Mandriva 2006
hors, je tombe sur le probleme suivant:
par moment, l'appel send () me retourne une valeur inferieure a la valeur du len (3e parametre du send ()).
si je comprends bien le man, avec les options par defaut (appel bloquant), soit le send me renvoie -1, soit il bloque jusqu'a (…)

Forum Programmation.c shm_open() référence indifinie !!!

Posté par  .
Étiquettes : aucune
0
20
fév.
2006
j'utilise linux depuis peu de temps, je l'ai installé pour pouvoir travailler sur les programmes C de temps réel. j'ai installé donc la version suse 8.1 PROFESSIONAL avec la version gcc 3.2 comme c'est indiqué avec la ligne de commande gcc -v :

Reading specs from /usr/lib/gcc-lib/i486-suse-linux/3.2/specs
Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --enable-languages=c,c++,f77,objc,java,ada --enable-libgcj --with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit i486-suse-linux
Thread model: posix
gcc version 3.2

j'essaie de compiler le programme ci-dessous:

gcc -o shmsem -g (…)

Forum Programmation.c Pas de beep ni de LED sans carte graphique

Posté par  .
Étiquettes : aucune
0
17
fév.
2006
J'ai recyclé un vieux PC en firewall avec une distribution spécialisée (Smoothwall). J'ai enlevé tout ce qui est inutile dessus : CDROM, écran, carte graphique.
Le problème, c'est que maintenant, je ne peux plus contrôler les LED du clavier via ioctl() ni émettre de beep sur le haut parleur. Linux me répond que je n'ai pas de "tty" pour effectuer ces opérations... Pourtant, j'ai bien une entrée (le clavier et ses LED) et le haut parleur.
Comment faire accepter un (…)

Forum Programmation.c malloc_hook et multithread

Posté par  .
Étiquettes : aucune
0
15
fév.
2006
Bonjour,

J'ai un probleme pour utiliser malloc hook en multithread.
Je veux simplement tracer les malloc et les free d'un soft.

Mon probleme est que dans le corps de mes fonctions malloc et free, je fais appel au vrai malloc et au vrai free :

Par exemple :

1 void * my_malloc_hook(size_t size,void * ret_ptr){
2 __malloc_hook = old_malloc_hook;
3 void * ptr = malloc(size);
4 __malloc_hook = &my_malloc_hook;
5 return ptr;
6 }

old_malloc_hook étant la valeur de __malloc_hook (…)

Forum Programmation.c Une librairie pour convertir les adresses de programmes en nom de fonction ou de fichier et ligne ??

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

Je cherche une librairie pour faire le boulot de addr2line avec la table des symboles du programme courant.

En fait j'utilise :
void __cyg_profile_func_enter(void *this, void *callsite)
void __cyg_profile_func_exit(void *this, void *callsite)
pour enregistrer la stack d'appel sur 2 niveaux.

J'aimerais pouvoir écrire directement le nom de fonction et la ligne d'appel plutôt que l'adresse programme, lorsque je veux tracer la stack d'appel.

Est-ce que ça existe ?

Merci d'avance

Forum Programmation.c Sockets - Processus

Posté par  .
Étiquettes : aucune
0
10
fév.
2006
Bonsoir tout le monde,

Voilà je dois réaliser un petit programme "simulation bancaire".

Voici le schéma :

---------- --------------- ---------------- )
| Terminal |=========| Serveur |=========| Serveur | ) BANQUE DU
---------- (1) | d’acquisition | (2) | d’autorisation | ) COMMERCANT
--------------- ---------------- )
/\
|| (3) )
\/ )
================= ) RESEAU
|| Réseau || ) INTERBANCAIRE
|| Interbancaire || )
================= )
/\ )
|| (3’) )
\/
--------------- ---------------- )
| Serveur |=========| Serveur | ) (…)

Forum Programmation.c Récupérer les groupes d'un utilisateur

Posté par  .
Étiquettes : aucune
0
14
fév.
2006
Mon problème: récupérer les groupes (id+nom) d'un utilisateur dans un programme écrit en C

Mes contraintes:
- Le process écrit en C ne tourne pas sous l'uid de l'utilisateur (impossible d'utiliser la fonction 'getgroups')
- Ça doit fonctionner quelque soit l'identification PAM en place (passwd, winbind...), ce qui interdit à priori les fonctions du genre 'getpwnam' et 'getgrnam'.

Des idées ?

Merci.

Forum Programmation.c Extraction sous-chaînes

Posté par  .
Étiquettes : aucune
0
6
fév.
2006
Bonjour,

Je voudrais extraire des sous-chaînes via un délémiteur.
J'ai pensé utiliser strtok.
Le problème est que strtok renvoi un pointeur et que je voudrais créer une fonction qui me renvoi un tableau.
Genre :

int main(){
char msg[] = "|15236|termtoacq|125,23|123456789123|\n";
char del[] = "|";
msg_intercept(msg, del);
return 0;
}

char msg_intercept(char * msg, char * del){
char * p;
int i;
char * tab[4];
int nbr = sizeof(tab) / sizeof(* tab);
p = strtok(msg, del);
if (p != NULL) (…)

Forum Programmation.c getservbyname

Posté par  .
Étiquettes : aucune
0
27
jan.
2006
Bonjour
je me lance dans les sockets depuis quelques jours et je bloque sur la fonction getservbyname.
j'ecrit ce code

Code:

if ((sptr=getservbyname("ssh","tcp"))==NULL){
printf("Impossible d'avoir les infos sur le service \n");
exit (1); }
printf("Le nom du service de la machine est : %s \n",sptr->s_name);
printf("Le port du service de la machine est : %i \n",sptr->s_port);


et à léxécition, ca me donne

Citation:

Le nom du service de la machine est : ssh
Le port du service de la machine (…)

Forum Programmation.c Bibliothèque d'entrée

Posté par  .
Étiquettes : aucune
0
26
jan.
2006
Yop,

J'ai beau chercher je trouve pas, est-ce qu'il existe une bibliothèque ( de préférence portée sur plusieurs systèmes ) pour gérer les entrées des périphériques clavier, souris, joysticks, etc ?
Un truc simple, genre un tableau de booléens pour le clavier qui dit si la touche X est pressée ou non, toussa.

L'autre truc c'est qu'il faudrait que ce soit vraiment interactif, que ça affiche 1 ou 0 si la touche est vraiment appuyée ou pas, je m'explique : (…)

Forum Programmation.c Creer un othllier en C

Posté par  .
Étiquettes : aucune
0
26
jan.
2006
Bonjour je suis étudiant en informatique. Un de nos projet du semestre est de programmer en C un othello.
Un othellier est juste un damier de 8*8.Par manque de temps notre othellier doit ressembler à ceci :
- - - - - - - -
- - - - - - - -
- - - - - - - -
- - - o * - - -
- - - * o - - -
- - - (…)