Bonjour,
je voudrais savoir s'il est possible de rediriger les sorties vers une zone de mémoire ( une chaine ).
J'ai utilisé cette portion de code pour rediriger vers un fichier. Comment la modifier pour obtenir la redirection vers la mémoire ?
PS : Je ne suis pas très calé en C, soyez patient, parlez-moi avec des mots compréhensibles par un individu normal ...
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 if (elems[z][0]=='>') { /* XXX ouvre le fichier destination */ int file = open(&elems[z][1], O_WRONLY | O_CREAT | O_TRUNC, 0644); if (file==-1) { printf("ne peut pas créer le fichier \"%s\" (%s)\n", &elems[z][1],strerror(errno)); exit(1); } /* XXX redirige la sortie standard sur file */ close(1); dup2(file,1); /* XXX supprime le dernier argument */ elems[z] = NULL; }
Partager