Bonjour,
Serait il possible de m'expliquer ce que fait ces deux fonctions :
Code:n=read(fd,buffer,sizeof(buffer));
Merci d'avance pour vos explications car je ne trouve rien de vraiment clair.Code:c=write(sock,buffer,n);
Version imprimable
Bonjour,
Serait il possible de m'expliquer ce que fait ces deux fonctions :
Code:n=read(fd,buffer,sizeof(buffer));
Merci d'avance pour vos explications car je ne trouve rien de vraiment clair.Code:c=write(sock,buffer,n);
salut
i/o fonctions entrées-sorties de bas niveau
elles permettent d'écrire et de lire dans un fichier
Ok merci. Donc la première lit dans le file descriptor fd c'est celà ?
read, ça dit ce que ça dit quand même ...
Attention toutefois car open, creat, read,write et close sont des fonctions spécifiques aux systèmes de type UNIX. En C standard, on utilise fopen, fread/fwrite et fclose.
Ok merci. Désolé pour mon ignorance mais je n'étais pas sûr que çà lisait dans le file descriptor et que çà stockait dans le buffer en espérant que ce soit cela...:roll:
Lorsque vous voyez des fonctions de ce genre, vous pouvez tenter un:
Exemple:Citation:
man le_nom_de_la_fonction
Vous pouvez le faire soit, dans une console linux, soit dans google :)Citation:
man read
C'est pour permettre la portabilité.
Si tu utilise read, il faudra s'assurer que ton programme ne quitte jamais UNIX, si tu utilise system(""); , alors ce sera windows only.
Si read fait la meme chose que fread mais que fread permet la protabilité, pourquoi s'embeter ?
system est une fonction standard donc disponible dans tout environnement conforme à la norme. Windows possède cependant des fonctions assez semblables à celles d'UNIX en ce qui concerne la manipulation des fichiers :Citation:
Envoyé par SofEvans
Code:
1
2
3
4
5
6 UNIX <-> Windows creat <-> CreateFile open <-> OpenFile read <-> ReadFile write <-> WriteFile close <-> CloseFile
C'est plutôt cls si c'est de la commande pour effacer l'écran que tu parles. Sous Linux effectivement c'est plutôt clear. Un bel exemple de la non portabilité que peut causer la fonction system.Citation:
Envoyé par SofEvans
bof..
Il suffit d'avoir intégré que system appelle justement quelque chose qui dépend de l'OS..
Mais, comme même sous le même OS, les programmes peuvent être à des endroits différents, ou non définis dans le path, il est toujours judicieux de stocker les commandes / programmes utilsés dans les appels à system sous forme de fichiers de config..
Exemple ici :
Fichier Config
Fichier source :Code:ClearCommand : "clear"
Code:
1
2
3
4
5
6
7
8 ... fopen(ConfigFile....); ... p = strchr ( Ligne, ":" ); strcpy ( ClearCommand, (p+1) ) ; ... sprintf ( Command, "%s", ClearCommand ) s = system ( Command );