1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| void PurgeStream(FILE *f)
{
int c;
while((c = fgetc(f)) != '\n' && c != EOF)
{}
}
void IncrementeFichier(LPCTSTR str)
{
FILE *pfIn = NULL;
FILE *pfOut = NULL;
CString strIn;
CString strOut;
strIn.Format("c:\\tatouage\\patchwork\\%s",str); // ouvre premier fichier en lecture
pfIn = _tfopen(strIn, _T("r"));
if(pfIn == NULL)
{
printf("impossible d'ouvrir le fichier");
}
strOut.Format("c:\\tatouage\\patchwork\\nov%s",str);
pfOut = _tfopen(strOut, _T("w")); //ouvre le deuxieme fichier en ecriture
if(pfOut == NULL)
{
printf("impossible d'ouvrir le fichier");
}
//Copie les nombres du premier fichier en les incrémentant tous de 1
if((pfIn != NULL) && (pfOut!=NULL))
{
int a, b, c, d;
while(fscanf(pfIn, "(%d,%d)-(%d,%d)", &a, &b, &c, &d)==4)
{
PurgeStream(pfIn);
//Traitement:
//Incrémente
a++; b++; c++; d++;
//Écrit
fprintf(pfOut, "(%d,%d)-(%d,%d)\n", a, b, c, d);
}
}
//Fermeture du ou des fichiers dont l'ouverture a réussi
if(pfIn)
fclose(pfIn);
if(pfOut)
fclose(pfOut);
} |
Partager