Probléme avec fopen

Résolu/Fermé
lolito - 14 janv. 2009 à 19:09
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 - 11 oct. 2009 à 21:52
Bonjour a tous

je tiens a précisé que je suis peu expérimenté en programmation

et j'ai un souci avec la fonction fopen

voici mon programme :
# include <stdio.h>

main ()
{

FILE *fichier;

fichier = fopen("test","w");
if (fichier == NULL)
{
printf("impossible d'ouvrir \n")
exit(1)
}

printf("ouverture du fichier \n");
}

le souci est que quand j'execute le programme j'obtiens a chaque fois : "ouverture fichier" même si le fichier n'existe pas.

info utile ou pas ;-) je suis sous debian

si je suis pas assez clair hesitez pas a me poser des questions.
merci d'avance

5 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
14 janv. 2009 à 19:17
Salut,

r lecture seule, le fichier doit exister
w ecriture seule, le fichier est créer s'il n'existe pas
a écriture seule, si le fichier existe son contenu n'est pas modifié, s'il n'existe pas il est crée
r+ lecture+écriture, les lectures/écritures démarrent au début du fichier en écrasant les données presentes.
w+ lecture+écriture, si le fichier n'existe pas il est crée
a+ ajout+lecture, les lectures commencent au début de fichier, les écritures débutent en fin de fichier

Regarde man fopen pour plus de détails et précisions
0
remiei83 Messages postés 123 Date d'inscription dimanche 23 septembre 2007 Statut Membre Dernière intervention 9 juin 2010 18
14 janv. 2009 à 19:54
Il faut écrire "test.txt" dans les paramètres de fopen.
Et ce que te dit lami20j c'est que le fichier est créé dans le dossier de ton projet (le même que ton exécutable).

PS: Au passage, inclus aussi stdlib c'est plus sur ;)
0
merci pour vos lumières
j'ai donc mis un r+ pour pourvoir modifier de fichier
0
moi aussi j'ai un probleme, sur ma page j'ai inseré un code
$fichier = fopen("ipvisit1.php", "r+");
// récupérer les valeurs
// pour des raisons de compréhension les variables ont des noms longs et explicites
$adresse_ip = $_SERVER['REMOTE_ADDR'];
$date_heure = date('d').".".date('m').".".date('Y')." ".date('H').":".date('i').":".date('s');
$navigateur = $_SERVER['HTTP_USER_AGENT'];
$langue = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
$langue = strtolower(substr(chop($langue[0]),0,2));
// si le visiteur entre l'adresse directement dans la barre d'adresse, la traçabilité est
// impossible, donc on vérifie d'abord si c'est possible
if (!empty($_SERVER['HTTP_REFERER'])) {
$derniere_page_visitee = $_SERVER['HTTP_REFERER'];
}

// Maintenant on affiche les valeurs
echo $adresse_ip."<br />";
echo $date_heure."<br />";

ensuite, j'ai créé un fichier php nommé ipvisit1.php et envoyé sur le serveur au meme endroit que ma page, pourtant ce fichier reste vide?

pouvez vous m'aider?
0

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

Posez votre question
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
11 oct. 2009 à 21:52
si tu est sur un fichier distant (sur ton serveur) verifie que ca repertoire à les droits en ecriture chmod 0777
0