écriture dans un fichier en C

Résolu
Trinity_vv
Messages postés
26
Date d'inscription
jeudi 6 janvier 2005
Statut
Membre
Dernière intervention
22 novembre 2005
- 18 janv. 2005 à 09:42
cs_Arnotic
Messages postés
933
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
9 janvier 2012
- 18 janv. 2005 à 15:31
Salut à tous, je suis débutante et je ne parviens pas à écrire un bout du programme destiné à écrire dans un fichier existant (parametre) des données que j'ai récupéré dans une page HTML , voilà ce que j'ai écrit :

main()

{
//Déclaration des variables

int i;
int num;
char buf;
int ret=1;
stringArray name;
stringArray value;
FILE *fichier;

//Fin de déclaration des variables

//mise en page

printf ("Content-type : text/html\n\n");
printf ("<HTML>");
printf ("<head>");
printf ("<meta http-equiv=\"Content-Language\" content=\"fr\">");
printf ("<meta http-equiv=\"Content-Type\" content=\"text/html;

charset=windows-1252\">");
printf ("<meta name=\"GENERATOR\" content=\"Microsoft FrontPage 4.0\">");
printf ("<meta name=\"ProgId\" content=\"FrontPage.Editor.Document\">");
printf ("<title>Fichier install.log</title>");
printf ("");
printf ("</head>");
printf ("");
printf ("R&eacutesultat :

");

//fin mise en page

num = getnamevalue(&name, &value); //fonction qui renvoie un entier afin de savoir si les valeurs ont été correctement remplises

if (num==0)
{
printf ("L'adresse IP et le masque de sous-r&eacuteseau nont pas &eacutet&eacute saisis correctement");
exit(0);
}
else
{
fichier = fopen("/var/www/cgi-bin/parametre", "w+");//ouverture de mon fichier
printf ("\n");
for (i=0 ; i <num ; i++)
{
printf ("<li>
%s = %s
\n", name[i], value[i]);
//fwrite(name, 1, 1, fichier);
}

/*do
{
ret = fread(&buf, sizeof(char), 1, fichier);
}while (!feof(fichier));*/

printf ("");
printf("</html>");
printf("\n");
delnamevalue (name, value, num);
//fclose (fichier);
}
ce qui est en rose est ce qu'il refuse d'exécuter, merci de votre aide



Biz...!

6 réponses

garslouche
Messages postés
584
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
29 mai 2015
1
18 janv. 2005 à 14:54
Il est possible que tu n'aies pas les droits pour accéder à ce fichier.
Tu as essayé de lancer ton prog sous root ?

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
3
cs_Arnotic
Messages postés
933
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
9 janvier 2012
1
18 janv. 2005 à 15:31
Surtout mettre les droits CHMOD 755 sur le fichier.

@+
Arnotic,
Admin CS, MVP Visual C++
3
cs_Arnotic
Messages postés
933
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
9 janvier 2012
1
18 janv. 2005 à 09:58
Salut,

Mieux vaut que tu utilises les APIs Windows :
CreateFile()
WriteFile()
CloseHandle().

Pour plus d'infos sur ces fonctions va voir sur le site de MSDN : http://msdn.microsoft.com/library

@+
Arnotic,
Admin CS, MVP Visual C++
0
Trinity_vv
Messages postés
26
Date d'inscription
jeudi 6 janvier 2005
Statut
Membre
Dernière intervention
22 novembre 2005

18 janv. 2005 à 10:07
ça aurait été avec plaisir, mais travaillant sous Linux il me refuse ces instructions.
Merci quant mem.



Biz...!
0

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

Posez votre question
cs_darunia
Messages postés
354
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
24 mars 2011
2
18 janv. 2005 à 13:22
Salut,


Quand tu dis "il refuse d'executer", ça veut dire quoi exectement ? Il ne compile pas ? Il plante ?

Si il plante ça pourrait venir de la :
fichier = fopen("/var/www/cgi-bin/parametre", "w+");//ouverture de mon fichier

Tu ne verifie pas si l'ouverture du fichier a réussie
if(fichier==NULL) erreur !

Si fichier est NULL alors l'ecriture et la lecture vont planter !

D@runia
0
Trinity_vv
Messages postés
26
Date d'inscription
jeudi 6 janvier 2005
Statut
Membre
Dernière intervention
22 novembre 2005

18 janv. 2005 à 14:02
J'ai rajouté le test d'erreur mais il plantetoujours,pas à la compilation qui se déroule parfaitement,
c'est lors de l'exécution qu'il me dit :


502 Bad Gateway
The CGI was not CGI/1.1 compliant.




Biz...!
0