Issue while reading file

Team,
I’m getting creazy. I’ve opened the simple ReadWrite example and changed the Test 1, 2, 3 with a loop to write it 500 times.

The read part is exactly the same of the example.

here the issue:
testing 1, 2, 3.
testing ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ1, 2, 3.
testing 1, 2, 3.
testing 1, 2, 3.

The ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ chars ARE NOT in the file.

I’m using an arduino pro mini so there is a led on Pin 13 that is the SCLK when the ÿÿ appear the led “vibrates”…

the ÿÿ appear multiple times.

I’ve tried to change libraries SD and SdFat as well as change SD card and Arduino board always with the same result.

I’ve even tried to put some delay in the read cycle… issue still there.

Here the code

/*
  SD card read/write

 This example shows how to read and write data to and from an SD card file
 The circuit:
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4

 created   Nov 2010
 by David A. Mellis
 modified 9 Apr 2012
 by Tom Igoe

 This example code is in the public domain.

 */

#include <SPI.h>
#include <SdFat.h>

File myFile;
SdFat SD;

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(4800L);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }


  Serial.print("Initializing SD card...");

  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");

  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.
  SD.remove("test.txt");
  myFile = SD.open("test.txt", FILE_WRITE);

  // if the file opened okay, write to it:
  if (myFile) {
    Serial.print("Writing to test.txt...");
  for (int index = 0; index < 500; index++) {
    myFile.println("testing 1, 2, 3.");
    Serial.println(index);
    delay(10);
  }  
    // close the file:
    myFile.close();
    Serial.println("done.");
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }

  // re-open the file for reading:
  myFile = SD.open("test.txt");
  if (myFile) {
    Serial.println("test.txt:");

    // read from the file until there's nothing else in it:
    while (myFile.available()) {
      Serial.write(myFile.read());
      delay(10);
    }
    // close the file:
    myFile.close();
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
}

void loop() {
  // nothing happens after setup
}

ÿ is a character you get when there is nothing in the IO buffer,

can you try

while (myFile.available() > 0) …