Как дописать данные текстовый файл си?

В программе на Си нужно дописывать данные в текстовый файл. Использую fopen так:

FILE* fileLog;
char logFile_name[] = "C:\\pg\\log.txt";
fileLog = fopen(logFile_name, "r+");
int j = 0;
while (j < 4)
{
    fprintf(fileLog, "%u,%s", GetLastError(), "1_aba_1\n");
    j++;
}

GetLastError возвращает 0, но файл перезаписывается, а не происходит добавление данных.

Делал так:

FILE* fileLog;
char logFile_name[] = "C:\\pg\\log.txt";
fileLog = fopen(logFile_name, "a+");
std::cout << GetLastError() << " LOG \n";

int j = 0;
while (j < 3)
{
    fprintf(fileLog, "%u,%s", GetLastError(), "56_aba_4\n");
    j++;
}

Данные добавляются, но GetLastError возвращает ошибку 183. Программа продолжает работать без проблем в обоих случаях,но я использую этот код в DLL расширения postgre, и оно перестает работать и теряет соединение с сервером по неизвестным причинам. Как правильно дописывать данные в текстовый файл без получения ошибок?


Ответы (0 шт):