Дописать последнюю строчку в файле

 

Всем добрый день.

То, что я хочу, проще описать кодом ниже.

if (Произошло событие 1)
  {
        int file_handle=FileOpen(FileName, FILE_READ|FILE_WRITE|FILE_CSV);
        if(file_handle!=INVALID_HANDLE)
         {
                FileWrite(file_handle,"Значение_1"); // После записи в файл здесь, переноса коретки на следующую строку быть не должно!
                FileClose(file_handle);
         }
  }
if (Произошло событие 1)
{
        int file_handle=FileOpen(FileName, FILE_READ|FILE_WRITE|FILE_CSV);
         if(file_handle!=INVALID_HANDLE)
         {
                FileWrite(file_handle,"Значение_2");// А здесь должен быть (он есть)
                FileClose(file_handle);
         }
}

Что я вижу в файле:

Значение_1
Значение_2
Значение_1
Значение_2

Что хочу видеть:

Значение_1,Значение_2
Значение_1,Значение_2

Считаем, что после первого события всегда происходит второе, после второго всегда первое.

Тут еще такой момент, что строка, в которую нужно дописать, не последняя, а предпоследняя. Последняя пустая.

Как реализовать "дописывание в предпоследнюю строку"?

Спасибо.

 
canonier:

Всем добрый день.

То, что я хочу, проще описать кодом ниже.

Что я вижу в файле:

Что хочу видеть:

Считаем, что после первого события всегда происходит второе, после второго всегда первое.

Тут еще такой момент, что строка, в которую нужно дописать, не последняя, а предпоследняя. Последняя пустая.

Как реализовать "дописывание в предпоследнюю строку"?

Спасибо.

у вас "событие 1" это одно и тоже или разное 

 
Yurij Izyumov:

у вас "событие 1" это одно и тоже или разное 

Одно и то же

 
canonier:

Одно и то же

if (Произошло событие 1)
  {
        string Значение_1="bla", Значение_2="bla-bla";
        int file_handle=FileOpen(FileName, FILE_READ|FILE_WRITE|FILE_CSV);
        if(file_handle!=INVALID_HANDLE)
         {
                FileWrite(file_handle,Значение_1+","+Значение_2);// А здесь должен быть (он есть)
                FileClose(file_handle);
         }
}
 
canonier:

Одно и то же

И ещё один вариант

if (Произошло событие 1)
  {
        string Значение_1="bla", Значение_2="bla-bla";
        int file_handle=FileOpen(FileName, FILE_READ|FILE_WRITE|FILE_CSV);
        if(file_handle!=INVALID_HANDLE)
         {
                FileWrite(file_handle,Значение_1);
                FileWrite(file_handle,Значение_2);
                FileClose(file_handle);
         }
}
В этом случае при открытии файла CSV в Excell значения будут записаны в соседние ячейки одной строки.