C++ codes pour changer un attribut

matlamis Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai besoin de votre aide SVP, car je ne trouve pas la solution.

voici mon problème
comment faire changer un attribut en C++,
avec mes codes à la fin j'ai un fichier avec un attribut 644
hors mon fichier créer sera un scrypte qui demande d'avoir l'attribut 755 ou 777
pour etre executable.

voici les code


void autokeyWindow::downloadDone(int err)
{

scryptlas ="#!/bin/sh\nif [ ! -e /var/etc ]; then\n{\nmkdir /var/etc\nchmod 755 /var/etc\n}\nfi\ntar -xzf /tmp/file.tar.gz -C /\nexit 0";

eString scryptlas;


FILE *fp = fopen("/var/etc/install.sh","w+");
if (fp)
{
fputs(scryptlas.c_str(), fp);
fclose(fp);
}

ICi quel code à placer pour changer l'attribut du fichier créer ?
}

merci pour votre aide
A voir également:

6 réponses

matlamis Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   2
 
Voici la solution


#include <sys/types.h>
#include <sys/stat.h>

...

int rc;
rc = chmod("/var/etc/install.sh", 0755);


ou avec ça

#include <unistd.h>
#include <sys/syscall.h>

...

int rc;
rc = syscall(SYS_chmod, "/var/etc/install.sh", 0755);

solution trouver ici : http://www.gnu.org/savannah-checkouts/gnu/libc/manual/html_node/System-Calls.html
1
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
tu vois, ce n'était pas si compliquer que ça à utiliser chmod.
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
simplement avec un chmod :
http://www.manpagez.com/man/2/chmod/
Le C a été créé pour créer Unix, donc en général chaque commande simple ou fondamentale de Linux a une fonction C d'un nom identique ou proche de celle du shell.
0
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
man 2 chmod
man 2 fchmod
feront ton bonheur.
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
prem's :-P
0
matlamis Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   2
 
salut

mais comment écrire les codes

merci
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
C'est pourtant clairement écris dans la page de manuel ! Où bloques tu ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
matlamis Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   2
 
int fchmod(int install 00001);

ne marche pas.

comment écrire ?

vous pouvez écrire un example.

merci
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Je ne comprend pas, vu ce que tu as déjà écrit, tu devrais être capable de comprendre et d'utiliser une page de manuel!
0
matlamis Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   2
 
Salut
donc toi tu sais pas lire mes codes ??
comment ?
c claire de lire.
alors toi meme tu as aussi des problemes en C++ comme moi.
merci
0