Aide débugage prog C

Fermé
Nickybut - 4 oct. 2004 à 10:22
 nickybut - 4 oct. 2004 à 14:01
Bonjour,

J'ai besoin d'une aide pour un petit débugage.
Voici mon code :
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main()
{
char lect[20];
FILE* f_donnees=fopen("reqid.txt","r");
int i;
if (f_donnees != NULL)

{

// ouverture reussie

while (!feof(f_donnees))
{

char ligne[500];
char ligne2 [500];
char bal[5];
char date[8];
char id[5];

fscanf(f_donnees,"%s",lect);
for(i=0; i<5; i++)
{bal[i]=lect[i];}
for(i=6; i<14; i++)
{date[i-6]=lect[i];}
for(i=15; i<=20; i++)
{id[i-15]=lect[i];}


strcpy(ligne,"/usr/ffse/work/FluxRetour/Backup/Messagerie/");
strcat(ligne,bal);
strcat(ligne,"/");
strcat(ligne,date);
strcat(ligne,"/rq0");
strcat(ligne,id);
strcat(ligne,"*.req.Z");

/*strcpy(ligne2,"Menu.sh R 2 ");
strcat(ligne2,bal);
strcat(ligne2,"//");
strcat(ligne2,date);
strcat(ligne2,"//");
strcat(ligne2,ligne); */

printf(ligne);


}
fclose(f_donnees);
}

else
{
// erreur a l'ouverture
printf("Ouverture du fichier impossible");
}
scanf("%d",&i);
}

qui s'appuie sur un fichier texte reqid.txt de la forme suivante :
12345;12345678;12345
45678;45678912;23456

Le résultat de ce programme est :
/usr/ffse/work/FluxRetour/Backup/Messagerie/12345//1234567812345/rq012345*.req.Z
/usr/ffse/work/FluxRetour/Backup/Messagerie/45678//4567891245678/rq023456*.req.Z

Qui peut me dire pourquoi j'ai un deuxième / entre 12345//1234567812345 et pourquoi n'ai je pas un / entre 1234567[b]12345[/b] ?

Merci d'avance pour votre aide
A voir également:

2 réponses

tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
4 oct. 2004 à 12:02
strcat (ligne, "//") => fais que t'as 2 slashs non?

tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
0
J'ai essayé avec un / et deux /. J'ai toujours le même soucis. J' avais mis 2 / pour éviter le soucis d'interprétation de caractère.
0