Exercice déplacement et renommer fichier [langage C] - C - Programmation
Marsh Posté le 18-12-2007 à 12:17:33
je pensai a ca:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
char nom[] = {0}, prenom[] = {0}, nomFichier[] = {0};
FILE *fichier = NULL;
fopen("coordonnées.txt", "w" );
if(fichier != NULL)
{
printf("veuillez saisir les renseignements \n\n" );
printf("NOM : " );
scanf("%s", nom);
printf("PRENOM : " );
scanf("%s", prenom);
//ENREGISTREMENT DES COORDONNEES SAISI.
fprintf(fichier, "NOM : %s\n\n" nom);
fprintf(fichier, "PRENOM : %s\n\n" prenom);
// saisi du nom du fichier.
printf("VEUILLEZ DONNEZ UN NOM A VOTRE FICHIER\n\n" );
scanf("%s", nomFichier);
//modification du nom du fichier.
rename("coordonnées.txt", "%s" nomFichier);
fclose(fichier);
}
return 0;
Marsh Posté le 18-12-2007 à 13:28:41
yassinou949494 a écrit : char nom[] = {0}, prenom[] = {0}, nomFichier[] = {0}; |
Nope, tu définis des chaînes de longueur 0 en faisant ça.
yassinou949494 a écrit : scanf("%s", nom); |
scanf() çaÿ le mal lorsqu'on ne sait pas utiliser convenablement les patterns et le code retour, il vaut mieux utiliser fgets() à la place.
Et puis je ne vois pas bien ce que viennent faire ces saisies par rapport au sujet que tu évoques dans ton premier post.
yassinou949494 a écrit : // saisi du nom du fichier. |
Nope, la question te demande d'utiliser les arguments passés au programme, en tout cas c'est ce que je comprends.
Il faut que tu utilises les arguments passés à ta fonction main().
yassinou949494 a écrit : rename("coordonnées.txt", "%s" nomFichier); |
man rename
Marsh Posté le 18-12-2007 à 20:05:58
yassinou949494 a écrit : je pensai a ca: |
Au-moins il y a des commentaires.
En plus des remarques de Elmoricq, revois donc le lien qu'il est nécessaire d'avoir entre "fichier" et "fopen()" et demandes-toi comment "fichier" peut être différent de "NULL" en ligne 10 alors que tu l'initialises à "NULL" en ligne 8...
Marsh Posté le 18-12-2007 à 11:36:15
bonjour a tous
alors voila j'ai un petit exercice en C que je dois effectuer mais j'ai beaucoup de mal voici le sujet:
Ecrire une commande dont l'executable sera déplacer et qui changera le nom d'un fichier passer en premier argument pour un nom spéifié en seon argument
Je pense qu'il faut utiliser lseek (pour le déplacement) et rename (pour le changement du nom de fichier)
A l'aide
Message édité par yassinou949494 le 18-12-2007 à 11:36:53