Bonjour,
j'ai un programme qui prend en paramètre un fichier texte dont le nom est de plus de 8 caractères.
Je récupère le nom, je traite le contenu du fichier, je réécris le fichier transformé avec le même nom mais en changeant l'extension.
PROBLEME :
Mon programme C tronque le nom du fichier écrit à 8 caractères !(plus l'extension.)
QUESTION :
Est-ce du à mon compilateur antédiluvien ? (Turbo C) ou à mon code ?
voici un extrait :
ensuite je traite le contenu du fichier et je crée un nouveau fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 /* on ouvre le fichier source */ in = fopen(argv[1],"r"); if (in == NULL) { fprintf(stderr,"impossible d'ouvrir le fichier source : %s\n", argv[1]); exit(2); /* code erreur 2 : impossible d'ouvrir le fichier source */ } /* on lit le fichier source */ c = getc(in); while(c!='\n') c = getc(in);
j'ai stocké le nom de foichier dans la variable "destination"
je l'affiche complement, donc cette variable a plus de 8 carcacteres
etc ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 out=fopen(Destination,"w"); if (out==NULL) { fprintf(stderr,"impossible d'ecrire le fichier destination : %s\n",Destination); exit(3); /* code erreur 3 : impossible d'ouvrir le fichier destination */ } /* On copie le contenu de entete dans destination (les declarations xml et la balise racine ouvrante sans la valeur de son attribut ) */ c = getc(in); while(c!=EOF) { putc(c,out); c = getc(in); }
ensuite je le ferme et le fichier est complet, mais son nom est tronqué à 8 caractères
Merci de votre aide
Frantz 69
Partager