C ++ Добавить новую строку в конце файла, если нет? - PullRequest
1 голос
/ 31 марта 2012

Я пишу программу на C ++, которая открывает, анализирует и форматирует текстовый файл.Я хотел бы знать, есть ли способ, которым я мог бы открыть текстовый файл, проверить и видеть, есть ли новая строка в конце файла, и добавить один, если это не присутствует.

Яочень плохо знаком с C ++, и я не уверен, как справиться с этим.Может ли кто-нибудь предоставить демо-версию?

Спасибо за потраченное время!

Ответы [ 2 ]

3 голосов
/ 31 марта 2012
  1. fopen () файл

  2. fseek () для размера файла - 1

  3. Если символ"\ n", затем добавьте один

1 голос
/ 31 марта 2012

Чтобы построить ответ от paulsm4:

//Open file in append-binary mode.
FILE *hFile = fopen("C:\\Test.txt", "ab");
if(hFile == NULL)
{
    printf("File not found.\n");
    return 0;
}

//Seek one character from the end of the file.
fseek(hFile, -1, SEEK_END);

//Read in a single character;
char cLastChar = fgetc(hFile);

if(cLastChar != '\n')
{
    //Write the line-feed.
    fwrite("\n", sizeof(char), 1, hFile);
}

//Close the file handle.
fclose(hFile);
...