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 :

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);
ensuite je traite le contenu du fichier et je crée un nouveau fichier
j'ai stocké le nom de foichier dans la variable "destination"
je l'affiche complement, donc cette variable a plus de 8 carcacteres

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);
	}
etc ...
ensuite je le ferme et le fichier est complet, mais son nom est tronqué à 8 caractères

Merci de votre aide
Frantz 69