Bonjour,
mon probleme est le suivant.
j'ai fait une application QT pour gerer les interfaces avec l'utilisateur.
suite a ca je fais appel a un programme edité en C pour faire toute la conversion d'un language GCode (commande numerique) en Val3 ( language robotique ).
avec l'interface, j'edite un fichier .app qui me donne le chemin de fichier que je dois traduire
lorsque l'application en C se lance, il lis bien le fichier, il inscris bien le bon chemin a faire. mais la est le bemol il n'arrive pas a trouver le fichier....
je teste en ecrivant directement dans le code le chemin du fichier ( tel qu'il est ecrit sur mon fichier .app) et la ca passe....
Code C# :
int Copy(char const * const source, char const * const destination)
{
FILE* fSrc;
FILE* fDest;
struct prog;
struct Copy;
char buffer[512];
char NomProgOld[512];
int NbLus;
strcpy(copy.FolderTemp,"");
strcpy(copy.FolderTemp,"Temp\\");
strcpy(copy.TEMP,".temp");
printf("prog.ChoixProgramme :%s",prog.ChoixProgramme);
//system("pause");
// Ici se pose mon probleme.
// ouvrire le fichier de cette maniere est correcte
if ((fSrc = fopen("C:/Users/lgillet/Desktop/ALFAGT_bis.ngc", "rb")) == NULL)
{
system("cls");
printf("copy: Impossible d'ouvrire: %s \n", prog.ChoixProgramme);
system("pause");
return 1;
}
strcpy(copy.FolderTemp,"Temp\\");
strcpy(copy.TEMP,".temp");
//strcpy(prog.NomProg,NomProgOld);
strcat(prog.NomProg, copy.TEMP);// nom programme + extension
strcat(copy.FolderTemp,prog.NomProg);// Folder + nom programme + extension
strcpy(prog.NomProg,"Temp\\Temp.temp");
printf("%s \n", prog.NomProg);
system("pause");
if ((fDest = fopen("Temp\\Temp.temp", "wb")) == NULL)
{
system("cls");
printf("Impossible de copier le fichier: %s\n", copy.FolderTemp);
system("pause");
fclose(fSrc);
return 2;
}
while ((NbLus = fread(buffer, 1, 512, fSrc)) != 0)
fwrite(buffer, 1, NbLus, fDest);
fclose(fDest);
fclose(fSrc);
// system("pause");
return 0;
}
Code C# :
int Copy(char const * const source, char const * const destination)
{
FILE* fSrc;
FILE* fDest;
struct prog;
struct Copy;
char buffer[512];
char NomProgOld[512];
int NbLus;
strcpy(copy.FolderTemp,"");
strcpy(copy.FolderTemp,"Temp\\");
strcpy(copy.TEMP,".temp");
printf("prog.ChoixProgramme :%s",prog.ChoixProgramme);
//system("pause");
// Ecris comme ceci, impossible de voir le fichier
//prog.ChoixProgramme="C:/Users/lgillet/Desktop/ALFAGT_bis.ngc"
if ((fSrc = fopen(prog.ChoixProgramme, "rb")) == NULL)
{
system("cls");
printf("copy: Impossible d'ouvrire: %s \n", prog.ChoixProgramme);
system("pause");
return 1;
}
strcpy(copy.FolderTemp,"Temp\\");
strcpy(copy.TEMP,".temp");
//strcpy(prog.NomProg,NomProgOld);
strcat(prog.NomProg, copy.TEMP);// nom programme + extension
strcat(copy.FolderTemp,prog.NomProg);// Folder + nom programme + extension
strcpy(prog.NomProg,"Temp\\Temp.temp");
printf("%s \n", prog.NomProg);
system("pause");
if ((fDest = fopen("Temp\\Temp.temp", "wb")) == NULL)
{
system("cls");
printf("Impossible de copier le fichier: %s\n", copy.FolderTemp);
system("pause");
fclose(fSrc);
return 2;
}
while ((NbLus = fread(buffer, 1, 512, fSrc)) != 0)
fwrite(buffer, 1, NbLus, fDest);
fclose(fDest);
fclose(fSrc);
// system("pause");
return 0;
}
qqu'un aurais une idée?