SD Card don't save after 14 records

As the title says, I can't save the data after 14 recordings.

Here's my codes:

#include <DS3231.h>
#include <SPI.h>
#include <SD.h>

DS3231 rtc(SDA,SCL);
Time t;
File datalog,counter;

const int temp = 0;
const int chipSelect = 4;

void setup() {
  Serial.begin(9600);

  rtc.begin();
  rtc.setDate(2, 5, 2018);//not permanent
  rtc.setTime(10,30,00); //not permanent
  SD.begin(chipSelect);
  
   
    
  
}

void loop() {
  if(timing())
  {
    String dataStream = getDateTime();
    dataStream += senRead();
    Serial.println(dataStream);

    fileWriting(dataStream);
    delay(1000);
  }
}
String getDateTime()
{
  t = rtc.getTime();

  String dateData=rtc.getDateStr();
  dateData += ",";
  dateData += rtc.getTimeStr();
  dateData +=",";
  return dateData;
}
float senRead()
{
  float temp = analogRead(temp);
  float stepFactor = 0.0048828125;
  double celFactor = stepFactor * 100;
  temp = temp * celFactor;
  return temp;
}
void fileWriting(String info)
{
  File dataRecord = SD.open("datalog.txt", FILE_WRITE);

  if(dataRecord)
  {
    dataRecord.println(info);
    dataRecord.close();
    Serial.print("Date: ");
    Serial.println(info.substring(0,10));
    Serial.print("Time: ");
    Serial.println(info.substring(11,19));
    Serial.print("Temperature: ");
    Serial.print(info.substring(20,25));
    Serial.println(" Celsius");
    Serial.println("Data has been recorded");

    Serial.print(counterWriting());
    Serial.println(" Records in total.");
  }
  else
  {
    Serial.println("Error: can't open file.");
  }
}

bool timing()
{
  String timing = rtc.getTimeStr();
  timing = timing.substring(6);
  if((timing=="30")||(timing=="00"))
    return true;
  else
    return false;
}
int counterWriting()
{
  counter = SD.open("counter.txt",FILE_READ);

  if(counter)
  {
    while(counter.available())
    {
      String ctr = counter.readStringUntil("");
      int line = ctr.toInt();
      line = line + 1;

      counted(line);
      return line;
    }
  }
}
void counted(int cnt)
{
  SD.remove("counter.txt");

  counter = SD.open("counter.txt", FILE_WRITE);

  if(counter)
  {
    counter.println(cnt);
    counter.close();
    Serial.println(cnt);
  }
}

Here are some of the output I collected.

02.05.2018,10:36:00,24.41
Date: 02.05.2018
Time: 10:36:00
Temperature: 24.41 Celsius
Data has been recorded
13
13 Records in total.
02.05.2018,10:36:30,23.93
Date: 02.05.2018
Time: 10:36:30
Temperature: 23.93 Celsius
Data has been recorded
14 Records in total.
02.05.2018,10:37:00,24.41
Error: can't open file.
02.05.2018,10:37:30,24.41
Error: can't open file.
02.05.2018,10:38:00,24.90
Error: can't open file.
02.05.2018,10:38:30,24.41
Error: can't open file.
02.05.2018,10:39:00,24.41
Error: can't open file.
02.05.2018,10:39:30,24.41
Error: can't open file.
02.05.2018,10:40:00,24.41
Error: can't open file.

Help please.

      String ctr = counter.readStringUntil("");

You clearly don't have a clue how to use readStringUntil(). Get one.