Rechercher : dans
Par :

C / fonction fopen

Dernière réponse le 4 jan 2009 à 22:49:17 Loxi, le 4 jan 2009 à 20:27:48 
 Signaler ce message aux modérateurs

Bonsoir a tous !!

Voila j'ai un problème bien ennuyeux avec la fonction fopen

elle s'utilise normalement ainsi : fichier = fopen("test.c", "a");

mais je désirerait que test.c et a (dans mon exemple) soit des variables de types char que je peux definir avant, soit :

char nomfichier[128];
char mode ouverture[4];
fgets(nomfichier, sizeof nomfichier, stdin);
fgets(modeouverture, sizeof modeouverture, stdin);
fichier = fopen(nomfichier, modeouverture);

Seulement, il n arrive pas a ouvrir le fichier que je demande, a chaque coup et peut importe les paramètres :(

Que manque t'il ? est-ce une histoire de pointeurs?

Merci de votre aide !!

Configuration: Windows Vista
Firefox 3.1

Meilleures réponses pour « C / fonction fopen » dans :
Trier un tableau sans utiliser la fonction sort VoirTrier un tableau sans utiliser la fonction sort D'abord on initialise une variable $max avec la 1ère valeur de tableau. Ensuite on va faire une boucle tant que le tableau contient encore des éléments. C'est avec la fonction splice qui a le rôle...
Les files en langage C VoirLes files - Premier Entré Premier Sorti Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la file IV. Opérations sur les files A. Initialisation B. Insertion d'un élément dans la file C. Oter un...
Générer des nombres aléatoires efficacement avec rand() VoirGénérer des nombres aléatoires efficacement avec rand() Vous avez peut-être remarqué qu'en C, en utilisant la fonction rand() de la bibliothèque standard, vous obtenez des résultats décevants, trop souvent les mêmes. Prenons un exemple, vous...
Langage C++ - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...
Langage C - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...

1

chuka, le 4 jan 2009 à 22:04:31

Salut,
en faisant cela ça fonctionne....c'est la fonction fgets qui fout un peu le bordel....
int main()
{FILE*fp;
char nomfichier[128];
char mode[4];
printf("nom\n\r");
gets(nomfichier);
printf("mode\n\r");
gets(mode);
fp=fopen(nomfichier,mode);
...
....
fclose(fp);
return 1;
}
J'espere ça pourra t'aider... Sur un malentendu, ca peut marcher!!

Répondre à chuka

2

Loxi, le 4 jan 2009 à 22:46:25

Voila mon code qui foire encore : le message d'erreur est sur l ouverture du fichier et il me renseigne comme nom de fichier le mode que j ai choisi...bizarre



int dev()
{
FILE* fichier = NULL;

char dir[128];
char mode[4];
char texte[10000] = {0};

printf("nom\n\r");
gets(dir);
printf("mode\n\r");
gets(mode);

fichier = fopen(dir, mode);
if (fichier != NULL)
{
fgets(texte, sizeof texte, stdin);
fprintf(fichier, "%s", texte);

fclose(fichier);
}

else
{
printf("\nImpossible d'ouvrir le fichier %s", dir);
}
}

Répondre à Loxi

3

 Loxi, le 4 jan 2009 à 22:49:17

Mea culpa ca fonctionne bien, je ne sais pas trop ce qui a changé mais ca fonctionne !

Merci grandement a toi :)

code :

int dev()
{
FILE* fichier = NULL;

char dir[128];
char mode[4];
char texte[10000] = {0};

printf("nom\n\r");
gets(dir);
printf("mode\n\r");
gets(mode);

fichier = fopen(dir, mode);
if (fichier != NULL)
{
fgets(texte, sizeof texte, stdin);
fprintf(fichier, "%s", texte);

fclose(fichier);
}

else
{
printf("\nImpossible d'ouvrir le fichier %s", dir);
}
}

Répondre à Loxi
Collection CommentÇaMarche.net