juju_le_barbare Vous fiez pas aux apparences ! | /*Salut les développeurs,
voilà sous Linux je fais des petits tests, et voici une petite source :
Code :
- */
- #include <errno.h> //variable errno/
- #include <stdio.h> //printf/perror/
- #include <stdlib.h> //getenv/
- #include <string.h> //str.../
- #include <unistd.h> //write/close/
- #include <fcntl.h> //open/2eme parametre de open sauf 'O_TEXT'/
- #include <sys/stat.h> //3eme parametre de open/
- void main()
- {
- extern int errno;
- int handle, lng_ecrite;
- char *buff = new char[1024];
- strcpy(buff, "Variable d'environnement PATH : \n" );
- strcat(buff, getenv("PATH" ));
- strcat(buff, "\n" );
- if ((handle = open("var_path.txt", O_APPEND|O_CREAT|O_NDELAY|O_RDWR, S_IREAD|S_IWRITE)) == -1)
- perror("Erreur de création de fichier " );
- else
- {
- perror("Fichier bien créé " );
- if ((lng_ecrite = write(handle, buff, strlen(buff))) != strlen(buff))
- printf("Impossible d'écrire les %d octets dans le fichier créé\n", strlen(buff));
- else
- printf("Ecriture de %d octets réalisée dans le fichier créé\n", lng_ecrite);
- close(handle);
- }
- printf(buff);
- }
- /*
|
Mais j'ai un problème. La paramètre 'O_TEXT' n'est pas dans le fichier fnctl.h, donc pour que ce prog compile (sous gcc), je retire le paramètre 'O_TEXT'.
Si je laisse le paramètre 'O_TEXT', j'ai
---
[root@localhost win_e]# gcc prog.cpp
prog.cpp: In function `int main (...)':
prog.cpp:17: `O_TEXT' undeclared (first use this function)
prog.cpp:17: (Each undeclared identifier is reported only once for each
function it appears in.)
---
Donc j'aimerais savoir où est déclaré le paramètre 'O_TEXT'... Même si c'est vrai qu'il fonctionne très bien ainsi...
Au fait je sais que ce prog est pourri mais c'est mon premier programme unix, je fais juste des essais...
Merci, et @++
juju
*/
---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
|