Name of files

   char name_a[] = "Svg_ph";
   char name_b[] = ".txt";
   char name[256];
   
      sprintf(name, "%s%s%d", name_a, name_b, cpt);

This is going to create files named Svg_ph.txt0, Svg_ph.txt1, Svg_ph.txt2, Svg_ph.txt3, Svg_ph.txt4, etc.

Probably not what you want.

You can simplify that code:
   char name[256];
   
      sprintf(name, "Svg_ph%d.txt", cpt);

(Or wherever you actually want the numeric portion to be.)

  unsigned long taille_cph_MAX = myFile.size();

Where was myFile initialized? Why is the size of that file in bytes relevant?

    while(taille_cph <= taille_cph_MAX)
    {
    }

When is this loop ever going to end? taille_cph never changes, so 0 will always be less than another value, as long as that other value is greater than 0.