Bonjour
Je voudrais savoir ou j'ai faux.
Je voudrai lire le terminal, mais comme j'utilise des socket avec des write et des read je ne peux pas utiliser ni scanf() ni fgets (bogge rapporté sur les pages de man)
ça ne marche pas pour une raison que je ne comprend pas, et j'ai pas d'idée plus simple pour transformer des caractères tapés au clavier en entier. Plus précisement j'ai l'impression qu'on ne va jamais dans la condition (r==1).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 int i,r; char msg; for(;;) { r=read(0, &msg,1) ; if (r == 1) { if (('0' <= msg)&&(msg <= '9')) { i = i*10+(int)( msg - '0'); } else if ((msg == '\n')||(msg == ' ')) { printf("fin saisie port\n"); break; } else { i = 0; } } }
Merci
// ---------------
edit read(stdin,,) devient read(0,,) sinon ça ne compile pas![]()
Partager